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