Tag: angularjs

使用带有UTCdate的AngularJSdatefilter

我有一个以毫秒为单位的UTCdate,我将它传递给Angular的datefilter来进行人类格式化。 {{someDate | date:'d MMMM yyyy'}} 真棒,除了someDate是UTC,datefilter认为它是在当地时间。 如何告诉Angular someDate是UTC? 谢谢。

什么是Angular UI路由器生命周期? (用于debugging静默错误)

我发现的最好的是http://www.ng-newsletter.com/posts/angular-ui-router.html 。 例如,它不会像$stateChangeStart , exampleState.onEnter , exampleState.resolve和exampleState.templateProvider触发的顺序那么深。 一个好的答案格式将是干净的。 就像是: foo状态的初始页面加载: 有效的生命周期步骤1 UI路由器生命周期步骤1 UI路由器生命周期解决发生 UI路由器生命周期onEnter火灾 有效的生命周期步骤2 状态改变foo – > bar $stateChangeStart事件触发 foo onExit火灾 酒吧 onEnter火灾 templateUrl获取模板 UI路由器插入摘要循环(或任何地方)的Angular生命周期。 嵌套状态 多个命名视图: ui-sref点击 等等…谢谢! 编辑:debuggingfunction提供足够的见解,以满足需求。 看到我的答案下面的片段。

使用ng-src vs src

本教程演示如何使用指令ngSrc而不是src : <ul class="phones"> <li ng-repeat="phone in phones" class="thumbnail"> <img ng-src="{{phone.imageUrl}}"> </li> </ul> 他们要求: 用普通的旧src属性replaceng-src指令。 使用诸如Firebug或Chrome的Web Inspector之类的工具,或者检查Web服务器访问日志,确认应用程序确实对/app/%7B%7Bphone.imageUrl%7D%7D (或/ app / {{phone .imageUrl}} )。 我这样做,它给了我正确的结果: <li class="thumbnail ng-scope" ng-repeat="phone in phones"> <img src="img/phones/motorola-xoom.0.jpg"> </li> 有什么原因吗?

在AngularJSunit testing中嘲讽$ modal

我正在为一个控制器写一个unit testing,触发$modal并使用返回的promise来执行一些逻辑。 我可以testing启动$ modal的父控制器,但是我不能为了我的生活找出如何嘲笑一个成功的承诺。 我尝试了很多方法,包括使用$q和$scope.$apply()来强制承诺的解决scheme。 然而,我最近得到的是在这个 SOpost中的最后一个答案类似的东西, 我已经看到这个问题几次与“旧” $dialog模式。 我无法find如何使用“新” $dialog模式做到这一点。 有些指针会被赞赏。 为了说明这个问题,我使用了UI Bootstrap文档中提供的示例 ,并进行了一些小修改。 控制器(主和模式) 'use strict'; angular.module('angularUiModalApp') .controller('MainCtrl', function($scope, $modal, $log) { $scope.items = ['item1', 'item2', 'item3']; $scope.open = function() { $scope.modalInstance = $modal.open({ templateUrl: 'myModalContent.html', controller: 'ModalInstanceCtrl', resolve: { items: function() { return $scope.items; } } }); $scope.modalInstance.result.then(function(selectedItem) { $scope.selected = selectedItem; […]

从AngularJS中的filter访问范围variables

我将date值传递给我的自定义filter: angular.module('myapp'). filter('filterReceiptsForDate', function () { return function (input, date) { var out = _.filter(input, function (item) { return moment(item.value.created).format('YYYY-MM-DD') == date; }); return out; } }); 我也想在这里注入一些范围variables,就像我可以在指令中做的那样。 是否有可能做到这一点,而不必作为函数参数显式传递这些variables?

了解Angular.js控制器参数

我刚刚开始学习Angular.js,并在Angular主页的“Wire up a Backend”示例中查看了project.js 。 我对控制器function中的参数感到困惑: function ListCtrl($scope, Projects) { … } function CreateCtrl($scope, $location, $timeout, Projects) { … } function EditCtrl($scope, $location, $routeParams, angularFire, fbURL) { angularFire(fbURL + $routeParams.projectId, $scope, 'remote', {}). then(function() { … }); } 这些控制器函数在routeProvider中被调用,但是没有给出任何参数。 $routeProvider. when('/', {controller:ListCtrl, templateUrl:'list.html'}). when('/edit/:projectId', {controller:EditCtrl, templateUrl:'detail.html'}). when('/new', {controller:CreateCtrl, templateUrl:'detail.html'}). otherwise({redirectTo:'/'}); }); 到目前为止唯一能find的可能解释是“将服务注入到控制器中” ,它解释了$location , $timeout […]

AngularJS – 从控制器获取模块常量

我试图build立一个myApp.config模块来存储我的应用程序的一些设置,我写了一个config.js文件: angular.module('myApp.config', []) .constant('APP_NAME','My Angular App!') .constant('APP_VERSION','0.3'); 我把它添加到我的app.js(angular种子): angular.module('myApp', ['myApp.filters', 'myApp.services', 'myApp.directives', 'myApp.controllers', 'myApp.config']). 我把它添加到index.html文件,现在我想弄清楚如何让它在我的控制器,我试过: angular.module('myApp.controllers', ['myApp.config']) .controller('ListCtrl', ['$scope', 'myApp.config', function($scope, $config) { $scope.printme = $config; }]) 但我得到: 未知提供者:myApp.configProvider < – myApp.config 我可能在这里做错了什么,有什么想法?

如何从angular.js数组中删除元素/节点

我试图从数组$scope.items删除元素,以便在视图中删除项目ng-repeat="item in items" 只是为了说明的目的,这里是一些代码: for(i=0;i<$scope.items.length;i++){ if($scope.items[i].name == 'ted'){ $scope.items.shift(); } } 如果名称正确,我想从视图中删除第一个元素? 它工作正常,但视图重新加载所有的元素。 因为所有的数组键已经移动。 这是在我创build的移动应用程序中造成不必要的延迟 任何人有解决这个问题?

对Asp.Net WebApi的angular度,在服务器上实现CSRF

我在Angular.js中实现了一个网站,这是一个ASP.NET WebAPI后端。 Angular.js有一些内置的function来帮助防止csrf保护。 在每个http请求中,它将查找名为“XSRF-TOKEN”的cookie并将其作为名为“X-XSRF-TOKEN”的头提交。 这依赖于Web服务器能够在authentication用户之后设置XSRF-TOKEN cookie,然后检查传入请求的X-XSRF-TOKEN标头。 Angular文档指出: 要利用这一点,您的服务器需要在第一个HTTP GET请求中的JavaScript可读会话cookie(称为XSRF-TOKEN)中设置一个令牌。 在随后的非GET请求中,服务器可以validationcookie是否与X-XSRF-TOKEN HTTP标头匹配,因此请确保只有在您的域上运行的JavaScript可以读取令牌。 令牌对于每个用户必须是唯一的,并且必须由服务器validation(以防止JavaScript构成自己的令牌)。 我们build议该令牌是您的网站的身份validationCookie摘要与盐,以增加安全性。 对于ASP.NET WebAPI,我找不到任何这样的好例子,所以我通过各种来源的帮助推出了自己的例子。 我的问题是 – 任何人都可以看到代码的任何错误? 首先我定义了一个简单的助手类: public class CsrfTokenHelper { const string ConstantSalt = "<ARandomString>"; public string GenerateCsrfTokenFromAuthToken(string authToken) { return GenerateCookieFriendlyHash(authToken); } public bool DoesCsrfTokenMatchAuthToken(string csrfToken, string authToken) { return csrfToken == GenerateCookieFriendlyHash(authToken); } private static string GenerateCookieFriendlyHash(string authToken) { using […]

在Angular Directive的链接函数中使用ng-click vs bind

在链接函数中,是否有一个更“angular”的方式来绑定一个function的点击事件? 现在,我正在做… myApp.directive('clickme', function() { return function(scope, element, attrs) { scope.clickingCallback = function() {alert('clicked!')}; element.bind('click', scope.clickingCallback); } }); 这是做这件事的方式,还是一个丑陋的黑客? 也许我不应该如此担心,但是我对这个框架并不熟悉,并且想知道“正确的”做法,特别是在框架向前发展的时候。