Questions tagged «angularjs»

用于有关开源JavaScript框架AngularJS(1.x)的问题。不要将此标签用于Angular 2或更高版本;而是使用[angular]标签。


2
AngularJS ui路由器在没有URL的状态之间传递数据
我面临着在两个状态之间传递数据而不暴露url中数据的问题,就像用户不能真正直接进入此状态一样。 例如。我有两个状态“ A”和“ B”。我正在状态“ A”进行一些服务器调用,并将调用的响应传递到状态“ B”。服务器调用的响应是一个字符串消息,该消息很长,因此我无法在url中公开它。 那么,在不使用url参数的情况下,有角ui路由器中有什么方法可以在状态之间传递数据?

7
如何在AngularJS应用程序中添加一些小的实用程序函数?
我想在AngularJS应用程序中添加一些实用程序功能。例如: $scope.isNotString = function (str) { return (typeof str !== "string"); } 将它们添加为服务的最佳方法是吗?从我所阅读的内容中我可以做到,但是然后我想在HTML页面中使用它们,因此如果它们在服务中仍然可行吗?例如,我可以使用以下内容: <button data-ng-click="doSomething()" data-ng-disabled="isNotString(abc)">Do Something </button> 有人可以举例说明如何添加这些内容。我应该创建服务还是有其他实现方法。最重要的是,我希望将这些实用程序功能存储在文件中,而不要与主要设置的另一部分结合使用。 我了解有一些解决方案,但没有一个如此明确。 解决方案1 -Urban提出 $scope.doSomething = ServiceName.functionName; 这里的问题是我有20个功能和10个控制器。如果执行此操作,则意味着要向每个控制器添加很多代码。 解决方案2-我提议 var factory = { Setup: function ($scope) { $scope.isNotString = function (str) { return (typeof str !== "string"); } 这样做的缺点是,在每个控制器启动时,我会对通过$ scope的每个服务有一个或多个这些Setup调用。 解决方案3 -Urban提出 …
146 angularjs 

12
如何获得承诺的价值?
我正在从Angular的文档中查看此示例,$q但我认为这可能总体上适用于Promise。下面的示例从他们的文档中逐字复制,并包含注释: promiseB = promiseA.then(function(result) { return result + 1; }); // promiseB will be resolved immediately after promiseA is resolved and its value // will be the result of promiseA incremented by 1 我不清楚这是如何工作的。如果我可以调用.then()第一个的结果.then()并将它们链接起来(据我所知),那么它promiseB就是一个类型为Promise的对象Object。这不是一个Number。那么,它们的含义是“其值将是promiseA的结果加1”? 我应该以这种方式访问promiseB.value吗?成功回调如何返回承诺并返回“结果+ 1”?我想念一些东西。

3
带有默认选项的AngularJS指令
我只是从angularjs开始,并且正在努力将一些旧的JQuery插件转换为Angular指令。我想为我的(元素)指令定义一组默认选项,可以通过在属性中指定选项值来覆盖这些默认选项。 我一直在寻找其他人这样做的方式,并且在angular-ui库中ui.bootstrap.pagination似乎做了类似的事情。 首先,所有默认选项都在常量对象中定义: .constant('paginationConfig', { itemsPerPage: 10, boundaryLinks: false, ... }) 然后,将getAttributeValue实用程序功能附加到指令控制器: this.getAttributeValue = function(attribute, defaultValue, interpolate) { return (angular.isDefined(attribute) ? (interpolate ? $interpolate(attribute)($scope.$parent) : $scope.$parent.$eval(attribute)) : defaultValue); }; 最后,在链接函数中使用它来读入属性 .directive('pagination', ['$parse', 'paginationConfig', function($parse, config) { ... controller: 'PaginationController', link: function(scope, element, attrs, paginationCtrl) { var boundaryLinks = paginationCtrl.getAttributeValue(attrs.boundaryLinks, config.boundaryLinks); …

2
从服务器获取数据的推荐方法
在不使用AngularJS的情况下,建议使用哪种方法连接到服务器数据源$resource。 将$resource有很大的局限性,如: 没有使用适当的期货 不够灵活
145 angularjs 

2
AngularJS $ resource RESTful示例
我想使用$ resource调用我的RESTful Web服务(我仍在使用它),但是我想知道我是否首先正确地使用了AngularJS脚本。 待办事项DTO具有: {id, order, content, done} :cmd因此,我可以调用api/1/todo/reset以清除数据库中的todo表。 这是带有我的理解注释的代码: function TodoService($resource) { var src = $resource('api/1/todo/:id:cmd', {id: "@id", cmd: "@cmd"}, //parameters default { ListTodos: { method: "GET", params: {} }, GetTodo: { method: "GET", params: { id: 0 } }, CreateTodo: { method: "POST", params: { content: "", order: …

18
使用AngularJS设置活动标签样式
我在AngularJS中设置了这样的路由: $routeProvider .when('/dashboard', {templateUrl:'partials/dashboard', controller:widgetsController}) .when('/lab', {templateUrl:'partials/lab', controller:widgetsController}) 我在顶部栏上有一些链接的标签样式。如何根据当前模板或URL将“活动”类添加到选项卡?

7
AngularJS:如何实现具有多部分形式的简单文件上传?
我想从AngularJS到node.js服务器做一个简单的多部分表单发布,表单的一部分应包含JSON对象,另一部分应包含图像(我目前仅使用$ resource发布JSON对象) 我以为我应该从输入type =“ file”开始,但是后来发现AngularJS无法绑定到该文件。 我可以找到的所有示例都是用于包装jQuery插件以进行拖放的。我想要一个文件的简单上传。 我是AngularJS的新手,对自己编写指令完全不满意。

12
如何计算页面上的手表总数?
在JavaScript中,有没有一种方法可以计算整个页面上有角度的手表的数量? 我们使用Batarang,但它并不总是适合我们的需求。我们的应用程序很大,我们对使用自动化测试来检查手表计数是否增加过多感兴趣。 在每个控制器的基础上计数手表也将很有用。 编辑:这是我的尝试。它在ng-scope类中将手表计入所有内容。 (function () { var elts = document.getElementsByClassName('ng-scope'); var watches = []; var visited_ids = {}; for (var i=0; i < elts.length; i++) { var scope = angular.element(elts[i]).scope(); if (scope.$id in visited_ids) continue; visited_ids[scope.$id] = true; watches.push.apply(watches, scope.$$watchers); } return watches.length; })();
144 angularjs 


8
如何在没有html元素的情况下使用ng-repeat
我需要使用ng-repeat(在AngularJS中)列出数组中的所有元素。 复杂的是,数组的每个元素都将转换为表的一,两或三行。 我不能创建有效的html(如果ng-repeat在元素上使用),因为在<tbody>和之间不允许使用任何类型的重复元素<tr>。 例如,如果在上使用ng-repeat <span>,我将得到: <table> <tbody> <span> <tr>...</tr> </span> <span> <tr>...</tr> <tr>...</tr> <tr>...</tr> </span> <span> <tr>...</tr> <tr>...</tr> </span> </tbody> </table> 无效的html。 但是我需要生成的是: <table> <tbody> <tr>...</tr> <tr>...</tr> <tr>...</tr> <tr>...</tr> <tr>...</tr> <tr>...</tr> </tbody> </table> 其中第一行是由第一个数组元素生成的,接下来的三行是由第二数组生成的,第五行是由最后一个数组生成的。 如何使用ng-repeat,使其绑定的html元素在渲染过程中“消失”? 还是对此有另一种解决方案? 澄清:生成的结构应如下所示。每个数组元素可以生成表的1-3行之间。理想情况下,答案应支持每个数组元素0-n行。 <table> <tbody> <!-- array element 0 --> <tr> <td>One row item</td> </tr> <!-- …
142 angularjs 

3
可以在Angular.js中将哪些“事物”注入到其他事物中?
我在理解Angular中的依赖注入方面有些困难。所以我的问题是,任何人都可以解释我们可以注入到其他“类型”(如控制器,工厂,提供者等)中吗,包括相同“类型”的其他实例? 我实际上正在寻找的是这张桌子,上面填满了y / n。对于具有相同行/列的单元格,这意味着将一个“类型”的值注入另一个具有相同“类型”的值 +----------------+----------+------------+-----------+---------+--------+----------+---------+-------+ | Can we inject? | Constant | Controller | Directive | Factory | Filter | Provider | Service | Value | +----------------+----------+------------+-----------+---------+--------+----------+---------+-------+ | Constant | | | | | | | | | | Controller | | | | | | | | | | …

4
AngularJS:在哪里使用promise?
我看到了一些正在使用的Facebook登录服务的示例 Promise访问FB Graph API。 例子1: this.api = function(item) { var deferred = $q.defer(); if (item) { facebook.FB.api('/' + item, function (result) { $rootScope.$apply(function () { if (angular.isUndefined(result.error)) { deferred.resolve(result); } else { deferred.reject(result.error); } }); }); } return deferred.promise; } 和使用过的服务 "$scope.$digest() // Manual scope evaluation"获得响应时 范例2: angular.module('HomePageModule', []).factory('facebookConnect', function() …

7
如何配置IIS以在HTML5模式下用URL重写AngularJS应用程序?
我有AngularJS种子项目,并添加了 $locationProvider.html5Mode(true).hashPrefix('!'); 到app.js文件。我想将IIS 7配置为将所有请求路由到 http://localhost/app/index.html 这样对我有用。我该怎么做呢? 更新: 我刚刚发现,下载并安装了IIS URL Rewrite模块,希望这将使实现我的目标变得容易且显而易见。 更新2: 我想这总结了我要实现的目标(摘自AngularJS Developer文档): 使用此模式需要在服务器端重写URL,基本上,您必须重写指向应用程序入口点的所有链接(例如index.html) 更新3: 我仍在努力,我意识到我不需要重定向(具有重写规则的)某些URL,例如 http://localhost/app/lib/angular/angular.js http://localhost/app/partials/partial1.html 因此,css,js,lib或partials目录中的所有内容都不会重定向。其他所有内容都需要重定向到app / index.html 任何人都知道如何轻松实现此目标而不必为每个文件添加规则? 更新4: 我在IIS URL重写模块中定义了2个入站规则。第一条规则是: 第二条规则是: 现在,当我导航到localhost / app / view1时,它会加载页面,但是支持文件(css,js,lib和partials目录中的文件)也将被重写到app / index.html页面中,因此一切都来了无论使用什么URL,都返回index.html页面。我想这意味着我的第一个规则(该规则应防止第二个规则处理这些URL)不起作用。...任何人?...我感觉很孤独... :-(

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.