Tag: angularjs

打破诺言链,并根据链中断的步骤调用函数(被拒绝)

更新: 为了帮助这篇文章的未来观众,我创build了pluma答案的演示 。 题: 我的目标看起来相当简单。 step(1) .then(function() { return step(2); }, function() { stepError(1); return $q.reject(); }) .then(function() { }, function() { stepError(2); }); function step(n) { var deferred = $q.defer(); //fail on step 1 (n === 1) ? deferred.reject() : deferred.resolve(); return deferred.promise; } function stepError(n) { console.log(n); } 这里的问题是,如果我在第一步失败, stepError(1)和stepError(2) 。 如果我不return $q.reject那么stepError(2)将不会被触发,但是step(2)将会被理解。 […]

使用UI-Router设置页面标题

我正在迁移我的基于AngularJS的应用程序使用ui路由器,而不是内置路由。 我已经configuration如下所示 .config(function($stateProvider, $urlRouterProvider) { $urlRouterProvider.otherwise('/home'); $stateProvider .state('home', { url: '/home', templateUrl : 'views/home.html', data : { pageTitle: 'Home' } }) .state('about', { url: '/about', templateUrl : 'views/about.html', data : { pageTitle: 'About' } }) }); 我如何使用pageTitlevariables来dynamic设置页面的标题? 使用内置路由,我可以做到 $rootScope.$on("$routeChangeSuccess", function(currentRoute, previousRoute){ $rootScope.pageTitle = $route.current.data.pageTitle; }); 然后在HTML中绑定variables,如下所示 <title ng-bind="$root.pageTitle"></title> 有没有类似的事件,我可以使用ui路由器挂钩? 我注意到有'onEnter'和'onExit'函数,但它们似乎与每个状态绑定,并要求我重复代码来设置每个状态的$ rootScopevariables。

order在Angular中的多个字段

如何在angular度上同时使用多个字段进行sorting? 按群组分组,然后按分组为例 $scope.divisions = [{'group':1,'sub':1}, {'group':2,'sub':10}, {'group':1,'sub':2},{'group':1,'sub':20},{'group':2,'sub':1}, {'group':2,'sub':11}]; 我想要显示这个 组:分组 1 – 1 1 – 2 1 – 20 2 – 1 2 – 10 2 – 11 <select ng-model="divs" ng-options="(d.group+' – '+d.sub) for d in divisions | orderBy:'group' | orderBy:'sub'" />

AngularJS $ http和$资源

我刚接触AngularJS,所以请原谅我的无知。 我有一些我想调用的Web服务。 $resource或$http ,我应该使用哪一个? $resource : https : //docs.angularjs.org/api/ngResource/service/$resource $http : https : //docs.angularjs.org/api/ng/service/$http 在阅读了上述两个API页面之后,我迷失了方向。 你能否用简单的英文向我解释有什么区别,我应该在什么情况下使用它们? 我如何构造这些调用并正确地将结果读入js对象?

如何统计页面上的手表总数?

有没有一种方法可以用JavaScript计算整个页面上的angular度表的数量? 我们使用Batarang ,但并不总是适合我们的需求。 我们的应用程序很大,我们有兴趣使用自动化testing来检查手表数量是否过多。 在每个控制器的基础上计数手表也是有用的。 编辑 :这是我的尝试。 它在所有具有ng级作用域的手表中统计着手表。 (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; })();

从服务器获取数据的推荐方法

在不使用$resource情况下,build议如何连接到AngularJS中的服务器数据源。 $resource有许多限制,例如: 没有使用适当的期货 不够灵活

Ng型不更新控制器值

大概愚蠢的问题,但我有我简单的input和button的HTMLforms: <input type="text" ng-model="searchText" /> <button ng-click="check()">Check!</button> {{ searchText }} 然后在控制器(模板和控制器从routeProvider调用): $scope.check = function () { console.log($scope.searchText); } 为什么我看到视图正确更新,但在控制台中未定义点击button? 谢谢! 更新:似乎我已经解决了这个问题(之前必须提出一些解决方法):只需要将我的属性名称从$scope.search = {};更改为search.text ,然后定义空的$scope.search = {}; 在控制器中的对象,并瞧…不知道为什么它的工作虽然;]

AngularJS:ng-model没有绑定到ng检查checkbox

在提出这个问题之前我提到了这个问题。 AngularJs不会绑定ng-model与ng-model 如果ng-checked在html方面评估为true ,那么ng-model不会更新。 我不能按照上面的问题build议ng-repeat ,因为我必须为每个checkbox使用一些样式。 这里是我创build的掠夺者来说明我的问题。 http://plnkr.co/edit/YsOsPh3vjkPMUUDa6r2t 要查看我想要的内容,请打开控制台,然后点击Submitbutton。 请不要检查任何checkbox。 提前致谢!

如何使用ng-options来selectng-class

我有一个Person对象的数组 var persons = [ {Name:'John',Eligible:true}, {Name:'Mark',Eligible:true}, {Name:'Sam',Eligible:false}, {Name:'Edward',Eligible:false}, {Name:'Michael',Eligible:true} ]; 而我正在使用像这样的ng选项select: <select ng-model="Blah" ng-options="person.Name for person in persons"></select> 我想用合格的 红色显示logging。 所以问题是我如何在select使用ng-class来实现这一目标? 由于我们不使用任何option标签,它不会工作,如果我只是在select元素本身添加ng-class 。

我怎样才能使用TypeScript定义我的控制器?

如何使用TypeScript定义我的控制器。 现在它是在angularjs,但我想改变这种types的脚本。因此,数据可以快速检索。 function CustomerCtrl($scope, $http, $templateCache){ $scope.search = function(search) { debugger; var Search = { AccountId: search.AccountId, checkActiveOnly: search.checkActiveOnly, checkParentsOnly: search.checkParentsOnly, listCustomerType: search.listCustomerType }; $scope.customer = []; $scope.ticket = []; $scope.services = []; $http.put('<%=ResolveUrl("API/Search/PutDoSearch")%>', Search). success(function(data, status, headers, config) { debugger; $scope.cust_File = data[0].customers; $scope.ticket_file = data[0].tickets; $scope.service_file = data[0].services; }). error(function(data, status) { console.log("Request […]