8
我想用一个JSON对象来初始化一个Angular模型,这个对象将被嵌入到一个HTML页面中。例如:从AngularJS访问全局变量
<html>
<body>
<script type="text/javascript" charset="utf-8">
var tags = [{"name": "some json"}];
</script>
<ul>
<li ng-repeat="tag in tags">{{tag.name}}</li>
</ul>
</body>
</html>
的tags
现场解决不了的,因为它是在$scope
抬头。我尝试访问我的控制器中的tags
字段,如下所示:
function TagList($scope, $rootScope) {
$scope.tags = $rootScope.tags;
}
但它不起作用。
它只有在将TagList
直接包含到HTML页面并直接将json呈现到此函数中时才有效。
如何访问角控制器中单独的js文件中的tags
字段?
是否有任何其他方式来初始化视图中的变量,而无需在HTML标签中声明它?例如,如果在上面的'ng-init'内声明的'tags'数组是一个非常大的数组,我想在视图中初始化它(从服务器端代码前),我可以使用类似'{{tags = [{...}]}}而不是? – GFoley83 2013-04-01 21:32:12
@Stewie第二种方法也存在问题。如果标签是通过jsonify方法生成的,并且它们包含引号,则所有内容都会制动。 – Hartimer 2013-08-10 01:24:56
我看不到任何比使用$ window for @ GFoley83的用例更好的方法;我有同样的问题,我发送了一个初始的JSON负载和我想要注入到控制器中的标记,但这对于Angular来说非常困难。我不喜欢污染窗口对象(或者不得不拉入全局变量),但它似乎是最好的方式。 – 2013-10-23 00:52:32