对于$ location.search, 文档说, 当没有任何参数调用时返回当前URL的search部分(作为对象)。 在我的url中,我的查询string有一个没有值的参数'test_user_bLzgB'。 另外'$ location.search()'返回一个对象。 我如何得到实际的文字?
我正在尝试为我的AngularJS应用程序编写一个HTTP拦截器来处理身份validation。 这个代码可以工作,但我担心手动注入服务,因为我认为Angular应该自动处理这个: app.config(['$httpProvider', function ($httpProvider) { $httpProvider.interceptors.push(function ($location, $injector) { return { 'request': function (config) { //injected manually to get around circular dependency problem. var AuthService = $injector.get('AuthService'); console.log(AuthService); console.log('in request interceptor'); if (!AuthService.isAuthenticated() && $location.path != '/login') { console.log('user is not logged in.'); $location.path('/login'); } return config; } }; }) }]); 我开始做的,但遇到循环依赖问题: app.config(function ($provide, […]
在我之前的问题之后 ,我现在试图从我的指令调用父控制器上的一个方法。 我得到一个未定义的参数。 这就是我所做的: <body ng-app="myApp" ng-controller="MainCtrl"> <span>{{mandat.rum}}</span> <span>{{mandat.surname}}</span> <input type="text" ng-model="mandat.person.firstname" /> <my-directive mandate-person="mandat.person" updateparent="updatePerson()" > </my-directive> </body> 和脚本: var app = angular.module('myApp', []); app.controller('MainCtrl', function ($scope) { $scope.mandat = { name: "John", surname: "Doe", person: { id: 1408, firstname: "sam" } }; $scope.updatePerson = function(person) { alert(person.firstname); $scope.mandat.person = person; } }); app.directive('myDirective', […]
当用户在某个点以下滚动浏览器窗口时,我正在切换#page div的类。 我迄今所做的工作正常: http://jsfiddle.net/eTTZj/29/ <div ng-app="myApp" scroll id="page"> <header></header> <section></section> </div> app = angular.module('myApp', []); app.directive("scroll", function ($window) { return function(scope, element, attrs) { angular.element($window).bind("scroll", function() { if (this.pageYOffset >= 100) { element.addClass('min'); console.log('Scrolled below header.'); } else { element.removeClass('min'); console.log('Header is in view.'); } }); }; }); (当他们滚动他们的窗口下面的标题,100px,类被切换) 虽然,纠正我,如果我错了,我觉得这是不是正确的方式来与Angular这样做。 相反,我推测这样做的最好方法是使用ng-class并在范围内存储一个布尔值。 像这样的东西: <div ng-app="myApp" scroll […]
这个自定义validation指令是在官方网站上提供的一个例子。 http://docs.angularjs.org/guide/forms它检查一个文本input是否是数字格式。 var INTEGER_REGEXP = /^\-?\d*$/; app.directive('integer', function() { return { require: 'ngModel', link: function(scope, elm, attrs, ctrl) { ctrl.$parsers.unshift(function(viewValue) { if (INTEGER_REGEXP.test(viewValue)) { // it is valid ctrl.$setValidity('integer', true); return viewValue; } else { // it is invalid, return undefined (no model update) ctrl.$setValidity('integer', false); return undefined; } }); } }; }); 为了unit testing这个代码,我写了这个: […]
如何在AngularJS表单元素的input字段中自动注入第一个字符? 我已经看到了jQuery解决scheme,但是相信在AngularJS中通过使用一个指令可以完成不同的工作。
我们正在开发一个带AngularJS和Java Servlets的REST风格的Web服务。 当用户login时,我们的后端发送一个“Set-Cookie”头到前端。 在Angular中,我们通过$cookies (ngCookie – 模块)访问头文件并设置它。 现在,用户login,他可以例如删除一些东西。 所以前端发送GET请求到后端。 因为我们在不同的领域工作,所以我们需要设置一些CORS头文件,Angular在实际的GET请求之前做一个OPTIONS请求: 选项请求: GET请求 我们通过$ http模块在Angular中执行此操作,但它不会发送包含JSESSIONID的cookie。 我怎样才能让Angular发送cookies?
这是我的HTML: <input id="selectedDueDate" type="text" ng-model="selectedDate" /> 当我input框中时,模型通过双向绑定机制进行更新。 甜。 但是,当我通过JQuery做到这一点… $('#selectedDueDate').val(dateText); 它不更新模型。 为什么?
下划线库提供了一个去抖动function,可以防止在设定的时间内多次调用某个函数。 他们的版本使用setTimeout。 我们怎么能在纯AngularJS代码中做到这一点? 而且,我们可以使用$ q风格的promise来在去抖动之后从被调用的函数中获取返回值吗?
我想有一个for循环每次迭代调用asynchronous函数。 在for循环之后,我想执行另一个代码块,但不是在for循环中的所有先前的调用已经解决之前。 我现在的问题是,在for循环之后的代码块在所有的asynchronous调用完成之前被执行,或者根本不执行。 代码部分用FOR循环和后面的代码块(完整的代码,请看小提琴 ): [..] function outerFunction($q, $scope) { var defer = $q.defer(); readSome($q,$scope).then(function() { var promise = writeSome($q, $scope.testArray[0]) for (var i=1; i < $scope.testArray.length; i++) { promise = promise.then( angular.bind(null, writeSome, $q, $scope.testArray[i]) ); } // this must not be called before all calls in for-loop have finished promise = promise.then(function() { […]