我需要使用angularjs访问数据,就像使用简单的静态< div ng-init =" data = [' data']" />在必须根据来自cookie的数据设置ng-init属性的上下文中。
这几乎应该可行,但是,我部分使用{{}}来访问数据会返回空字符串。
我怀疑这是一个竞争条件问题。
简化的HTML代码如下(代码在ng-controller中):
<script>
var data = $.cookie("data");
$("#data").attr("ng-init", data);
</script>
<div> Data is '{{data}}'</div>
答案 0 :(得分:1)
看起来你正在使用jquery来获取cookie。为什么不使用角度$cookie
service,它可以让您直接从控制器中访问Cookie。这将消除根本不需要使用ng-init。根据我的经验,ng-init仅在您需要初始化服务器端打印的内容时才有用。
angular.module('test', []).controller('TestCtrl', function($scope, $cookies) {
$scope.data = $cookies.data;
});