AngularJS访问cookie的方式是什么?我看到过同时引用Cookie的服务和模块的信息,但没有示例。
有没有,或者没有AngularJS规范方法?
该答案已更新,以反映最新的稳定angularjs版本。一个重要的注意事项是$cookieStore
周围有薄薄的包装纸$cookies
。它们几乎相同,因为它们仅与会话cookie一起使用。虽然,这回答了原始问题,但是您可能还需要考虑其他解决方案,例如使用localstorage或jquery.cookie插件(这将为您提供更细粒度的控制并执行服务器端cookie。当然,在angularjs中这样做意味着您可能希望将它们包装在服务中并用于$scope.apply
通知角度模型更改(在某些情况下)。
还有一点需要注意的是,在提取数据时,两者之间会有细微的差别,具体取决于您$cookie
以前存储的是值还是$cookieStore
。当然,您真的想使用其中一个。
除了添加对js文件的引用之外,您还需要注入ngCookies
应用程序定义中,例如:
angular.module('myApp', ['ngCookies']);
那么您应该会很好。
这是一个功能最小的示例,在这里我展示了它cookieStore
是围绕Cookie的薄包装:
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<link rel="stylesheet" type="text/css" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
</head>
<body ng-controller="MyController">
<h3>Cookies</h3>
<pre>{{usingCookies|json}}</pre>
<h3>Cookie Store</h3>
<pre>{{usingCookieStore|json}}</pre>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular-cookies.js"></script>
<script>
angular.module('myApp', ['ngCookies']);
app.controller('MyController',['$scope','$cookies','$cookieStore',
function($scope,$cookies,$cookieStore) {
var someSessionObj = { 'innerObj' : 'somesessioncookievalue'};
$cookies.dotobject = someSessionObj;
$scope.usingCookies = { 'cookies.dotobject' : $cookies.dotobject, "cookieStore.get" : $cookieStore.get('dotobject') };
$cookieStore.put('obj', someSessionObj);
$scope.usingCookieStore = { "cookieStore.get" : $cookieStore.get('obj'), 'cookies.dotobject' : $cookies.obj, };
}
</script>
</body>
</html>
这些步骤是:
angular.js
angular-cookies.js
ngCookies
您的应用程序模块(并确保您在ng-app
属性中引用该模块)$cookies
或$cookieStore
参数cookieStore
使用put / get方法访问问题内容: 我是AngularJS的新手,觉得很有趣,但是对于以下情况我不太清楚。 我分配并使用返回数据时遇到错误,无论如何我可以将返回数据分配给吗? 问题答案: 您通常不在工厂,服务或提供商内部使用。通常,您将返回(由返回),然后在控制器(您确实有)中处理promise 。 控制器功能:
问题内容: 我在我的Web应用程序中同时使用了Bootstrap和AngularJS。我很难让两个人一起工作。 我有一个元素,它具有属性 我想在用户在字段中输入时更新属性。该函数已正确触发,但是除非我使用,这是jQuery方式,而不是AngularJS方式,否则我无法访问触发事件的元素。 使AngularJS与旧式JS模块一起工作的最佳方法是什么。 问题答案: 不会将DOM元素传递给函数。这里将参
问题内容: 首先,我检查了一下,但没有发现涉及我的问题的文章。 如何在angularJS内置指令中访问预定义的js全局变量? 例如,我在 然后我写一个AngularJS指令: 这实际上是行不通的。 然后我得知我应该使用 所以我在其他地方写了代码: 而且这显然不能正常工作……这就像一个恶性循环。您需要访问预定义的js全局变量,然后需要使用ng-init;为了使用ng-init,您需要访问全局变量。
问题内容: 我的页面有多种形式,一次只想显示一个即可。为此,我将每种形式分成一个部分,并使用Bootstrap的手风琴插件一次只允许一个打开的部分。 我的标记看起来像这样: 一切正常,我可以在表单之间导航。 因为我不希望用户打开当前正在编辑的部分包含验证错误的部分,所以我尝试检查函数是否与其关联的表单有效。 我尝试过,但是我做不到。我无法访问负责页面的控制器中与表单关联的FormControlle
问题内容: 我有这段Java代码: 我想在Kotlin中获得MainActivity对象。自动转换在处中断。 问题答案: 您可以通过使用合格的来获得对Kotlin中对象的引用。例如:
我已经尝试在这里和许多其他地方搜索,但仍然找不到任何解决方案,它总是给出[“天气”]未找到或不起作用的错误。这是我正在使用的代码。 这就是我所关注的: 我想从这个< code>weather JsonArray中获取< code>description和< code>main