Tag: angularjs

Angular和$ cookies – $ cookies.get不是一个函数

我正在尝试在Angular中使用cookie – 这就是我正在尝试的: <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.14/angular-cookies.min.js"></script> var capApp = angular.module('capApp', ['ngRoute','ui.bootstrap','ngCookies']); capApp.controller('cookieCtrl', ['$scope','$cookies', function($scope, $cookies) { var favoriteCookie = $cookies.get('user_id'); alert(favoriteCookie); }]); 我在控制台中得到这个错误: TypeError: $cookies.get is not a function 任何想法,我要去错了? UPDATE 检查你正在使用的Angular版本 – 任何angular度的人阅读这个,使文档中的版本切换绿色和巨大! 你根本没有注意到它。

在Angular JS中把用户定义的函数放在哪里?

在我看来,我想渲染: <p> {{ say() }} </p> 在哪里被定义如此: say = function() { return "Hello World"; } 我可以在我的控制器中定义它: function TestCtrl($scope) { $scope.say = function() { … }; } 但是只能在该控制器内访问。 如果我在Angular文件结构之外定义函数,则不呈现任何内容。 如果我在我的controllers.js文件中定义它,但在控制器函数作用域之外,则是相同的。 在哪里放置我的function,所以我可以渲染它在任何控制器?

如何将HTML传递给angular度指令?

我想创build一个模板的angular度指令,但我也不想丢失的div内的HTML。 例如,这里是我想从HTML调用我的指令: <div my-dir> <div class="contents-i-want-to-keep"></div> </div> 那么,我的指示是: app.directive('myDir', [ '$compile', function($compile) { return { restrict: 'E', link: function(scope, iElement, iAttrs){ // assigning things from iAttrs to scope goes here }, scope: '@', replace: false, templateUrl: 'myDir.html' }; }]); 然后是myDir.html,我定义了一个新元素: <div class="example" style="background: blue; height: 30px; width: 30px"></div> 即使当我设置replace为false,我失去了内部的内容,我想要保持分区 – 我对angular docs的理解是,这将被附加在我的模板之后。 有什么办法来保存这个(可能通过我的链接function?),结果将是 <div class="example" […]

如何使用ui-view而不是ng-view使用ng-animate?

我正在使用angularJS v1.2的angular-ui-router,并希望实现自定义页面转换。 我怎样才能用ng-animate与ui-view(来自angular-ui-router )而不是ng-view(这将是标准的方式)? 有关ng-view的参考,请参阅AngularJS 1.2中的Remastered Animation 。 编辑:我已经尝试了两个不同的angular度版本:v1.2.0-rc.2和v1.2.0-rc.3build议在评论中,但似乎都没有把戏。 我想我可能会做错什么? 这里是HTML: <div ui-view class="slide"></div> 和CSS: .slide { width:1024px; height:768px; } .slide.ng-enter, .slide.ng-leave { -webkit-transition:0.5s linear all; -moz-transition:0.5s linear all; -o-transition:0.5s linear all; transition:0.5s linear all; border: 1px solid blue; } .slide.ng-enter.ng-enter-active { border: 1px solid red; } 我添加了前面提到的示例的JSfiddle 。 尽pipe如此,将这个示例展开来覆盖ng-view和ui-view会很好,但是我不确定如何获取ng / ui-view和部分到JSfiddle。

如何在使用资源服务时传入参数?

一个非常新手的问题: 我试图build立资源对象使用工厂方法: .factory('Magazines', [function ($resource) { var url = document.URL; var urlArray = url.split("/"); var organId = urlArray[urlArray.length-1]; return $resource('http://localhost/ci/api/magazines/:id', { loginID : organEntity, password : organCommpassword, id : organId }); }]) 这个方法很简单,因为所有参数都是预定义的,organEntity和organCommpassword是在标签内定义的。 现在对于不同的资源对象,我需要在调用工厂时传入参数。 我想象这个资源对象的调用代码应该如下所示: .controller('ResrouceCtrl', function($scope, Magazines) { $scope.magazines = Magazines.query(); }); 我知道query()方法可以添加参数: Magazines.query(params, successcb, errorcb); 我想知道如果我只是通过参数,我可以在工厂得到参数? 如何在工厂方法中指定传入参数? 例如,现在假设我不能从url获取organId,我需要从我的控制器传入它,如何在工厂方法内接收organId? 这里是我的资源js: .factory('MagComments', function ($resource) { […]

有效的会话超时和pipe理

有没有办法使用Angularjspipe理用户会话?我的意思是:: 会话超时 – 系统空闲时。 会话即将到期时发出警报,并select恢复会话。 如果会话已过期,则尝试发出请求时redirect(或任何其他操作)。 拦截器可以解决这个问题吗? 你能提供一个例子吗? 提前致谢。

使用Angular JS向其他模块configuration注入常量

我想在整个应用程序中共享一些variables,如基本path。 这些variables需要在模块configuration期间进行访问。 我的意见是,我可以使用一个常数或提供者。 我有几个模块,每个模块都有自己的路由configuration。 在这些路由configuration中,我想访问一些设置,例如。 这适用于应用程序模块configuration,但不适用于其他模块configuration(对于其他模块的控制器),我总是会得到“未知提供者:来自myApp.orders的信息”。 var myApp = angular.module('myApp', ['myApp.orders']); myApp.constant('info', { version : '1.0' }); myApp.config(function(info) { console.log('app config: ' + info.version); }); myApp.controller('MyController', function (info) { console.log('controller: ' + info.version); }); var orders = angular.module('myApp.orders', []); // Remove comments to see it fail. //orders.config(function(info) { // console.log('orders config: ' + info.version); //}); […]

Angularjs中的指令模板函数有什么好处?

根据文档, template可以是一个函数,它接受两个参数,一个element和attributes并返回一个表示模板的string值。 它用HTML的内容replace当前元素。 replace过程将所有属性和类从旧元素迁移到新元素。 compile函数处理转换模板DOM。 它有三个参数,一个element , attributes和transclude函数。 transclude参数已被弃用。 它返回一个link函数。 看起来template和compilefunction非常相似,可以达到同样的效果。 template函数定义了一个模板, compile函数修改了模板DOM。 但是,它可以在template函数本身中完成。 我看不到为什么修改templatefunction以外的template DOM。 反之亦然,如果可以在compile函数中修改DOM,那么template函数需要什么?

AngularJS – $ http.post发送数据为json

我正在与angularjs的autocomplete指令,但有一些问题。 我有一个有自动完成input的表单。 当我键入一些东西, 术语variables作为JSON发送: 但是,当我使用相同的function(从不同的angular度控制器,但相同的function)在另一种forms的术语variables发送完美,自动完成工作正常: 这是我的angularfunction: $scope.getCustomers = function (searchString) { return $http.post("/customer/data/autocomplete", {term: searchString}) .then(function (response) { return response; }); }; 你认为什么是错的?

AngularJSredirect,无需推送历史状态

我正在开发一个AngularJS应用程序,它有一个捕获所有路线(例如, .when('/:slug', {…) ),这是从以前的(非angular度)版本该应用程序。 响应catch的控制器都会尝试提取一个相关的对象,如果没有find的话,使用$location.path方法redirect到404页面。 这样可以使用户进入404页面,但是当用户在浏览器中回到页面时,他们会将页面拉回到404页面,并最终无法摆脱循环。 我的问题是,如果有1)更好的模式来处理这种情况,或2)如果有一种方法来重新路由用户不强制在浏览器中的历史推状态?