如果我有一个指令myDir ,我在ng-repeat调用它,像这样ng-repeat <my-dir myindex="{{$index}}"></my-dir> 我怎样才能访问myindex ? 当我在postLink函数中使用attrs.myindex时,我得到实际的string{{$index}} 。 当我检查HTML,它实际上说myindex="2" 。
我想问你是否可以帮我一把。 我在这里创build了一个我的问题jsfiddle。 我需要使用ng-model =“my _ {{$ index}}”方式在ng-repeater中dynamic生成一些带有ng-model的input。 在jsfiddle中,你可以看到它的一切工作正常,直到我试图dynamic生成它。 该html将是: <div ng-app> <div ng-controller="MainCtrl"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td> <select ng-model="selectedQuery" ng-options="q.name for q in queryList" > <option title="—Select Query—" value="">—Select Query—</option> </select> </td> </tr> <tr ng-repeat="param in parameters"> <td>{{param}}:</td> <td><input type="text" ng-model="field_X" />field_{{$index}}</td> </tr> </table> <div> <div> 和JavaScript … function MainCtrl($scope) { $scope.queryList […]
据我所知,Express存放在服务器上,而Angular存在于客户端,但据我所知,Angular可以做Express所能做的一切, 路由 与数据库进行交互 这似乎可能需要快递为了一个AngularJS应用程序由Node.js服务,但我不知道。 那么,将Express添加到AngularJS应用程序有什么好处?
在Angular 1.2中, ngRoute是一个独立的模块,所以你可以使用其他社区路由器,比如ui.router 。 我正在编写一个开放源代码模块,旨在为多个不同的路由器实现工作。 那么如何检查哪个路由器被加载或存在? 我在我的模块中的一个工厂内部正在做以下工作,但它不按照我所期望的方式工作: if (angular.module("ngRoute")) // Do ngRoute-specific stuff. else if (angular.module("ui.router")) // Do ui.router-specific stuff. 它会引发一个错误,无论哪个模块没有加载。 例如,如果应用程序使用的是ui.router ,那么ngRoute检查会引发以下错误: 未捕获的错误:[$ injector:nomod]模块'ngRoute'不可用! 您拼写错误的模块名称或忘记加载它。 如果注册一个模块,确保你指定依赖关系作为第二个参数。
我试图用$http'的拦截器为我的网站编写一个通用的error handling程序,但他们似乎无法做我想做的事情。 我在'response'和'responseError'放置了拦截器,但是当服务器离线/不响应时(net :: ERR_CONNECTION_REFUSED),它们不会被调用。 我明白为什么会发生这种情况,对拦截没有反应。 我想知道是否有捕获这些错误的通用方法,除了听每个请求$httpPromise的errorcallback。
如何从chrome的控制台访问范围variables小部件 function MyCntrl($scope) { $scope.widgets = [ {text:'Widget #1', datarow:1, datacol:1, datasizex:3, datasizey:3}, {text:'Widget #2', datarow:2, datacol:1, datasizex:3, datasizey:3}, {text:'Widget #3', datarow:1, datacol:2, datasizex:3, datasizey:3}, {text:'Widget #4', datarow:2, datacol:2, datasizex:3, datasizey:3} ]; 像$ scope.widgets的东西根本不在控制台中工作!
我有一个angular色应用程序正在击中节点API。 我们的后端开发者已经在API上实现了基本的身份validation,我需要在我的请求中发送一个auth头文件。 我已经查明: $http.defaults.headers.common['Authorization'] = 'Basic ' + login + ':' + password); 我试过了: .config(['$http', function($http) { $http.defaults.headers.common['Authorization'] = 'Basic ' + login + ':' + password); }]) 以及直接附加到请求: $http({method: 'GET', url: url, headers: {'Authorization': 'Basic auth'}})}) 但没有任何工作。 如何解决这个问题?
我试图resize,当窗口调整后,环顾四周,似乎使用指令是最好的解决scheme。 模板: <div elHeightResize ng-view ng-style="{ height: windowHeight }"></div> 指示: myApp.directive('elheightresize', ['$window', function($window) { return { link: function(scope, elem, attrs) { scope.onResize = function() { var header = document.getElementsByTagName('header')[0]; elem.windowHeight = $window.innerHeight – header.clientHeight; } scope.onResize(); angular.element($window).bind('resize', function() { scope.onResize(); }) } } }]) 虽然我可以在scope.onResizeloggingelem.windowHeight ,但它似乎并不适用于ngStyle 我还可以俯视吗? 编辑: <div ng-view resize style="height: {{ windowHeight }}px"> […]
以下代码通过服务读取,并在网页上显示特定“页面类别”(string)的“页面”对象列表。 使用$ routeProvider.when()中的resolve对象属性,我可以推迟更新视图,直到新值准备就绪。 两个问题: 当要求一个新的页面列表,我想显示一个加载图标。 当从服务器开始读取(并且应该显示加载图标)时,如何检测(以非黑客的方式)事件? 我想我可以在服务中做一些像$('。pages-loading-icon')。show(),但是发现太过于依赖于服务的GUI。 当新的价值准备好了,我希望旧的淡出,新的淡入。什么是“angular”的方式来做到这一点? 我试图在控制器中使用$ watch来做到这一点,但是这会导致在淡出开始前不久显示新的值。 代码: app.js: $routeProvider.when('/:cat', { templateUrl: 'partials/view.html', controller: RouteCtrl, resolve: RouteCtrl.resolve}); controllers.js: function RouteCtrl($scope, $routeParams, pages) { $scope.params = $routeParams; $scope.pages = pages; } RouteCtrl.resolve={ pages: function($routeParams, Pages){ if($routeParams.hasOwnProperty('cat')){ return Pages.query($routeParams.cat); } } } services.js:读取的最后一页存储在currentPages中,并在lastCat中存储它的类别。 factory('Pages', function($resource, $q, $timeout){ return { res: $resource('jsonService/cat=:cat', {}, { query: […]
在大多数情况下, <custom-resource>.query()方法的结果是一个数组,可以使用以下(工厂)代码轻松扩展一些方法(业务逻辑): var Data = $resource('http://..'); Data.prototype.foo = function() {return …}; 这是使用ng-repeat / ng-class的最佳select,如下所示: <tr ng-repeat="item in responseData" ng-class="{warning: item.foo()}">..</tr> 我的问题是, 每个列表响应封装在一个对象,除了实际的列表,有一些元属性(sorting信息等),所以返回的最后一个对象是这样的: { order_field: "name", items: [{..}, {..},{..}] } 现在,我如何使用ng-repeat / ng-class来做同样的事情呢? <tr ng-repeat="item in responseData.items" ng-class="????">..</tr> 之前的方法将不起作用,因为“foo”方法是在responseData上定义的,而不是在item对象上定义的 有没有办法直接扩展用于实例化列表中的对象的基类? 谢谢!