首先,我檢查了一下,但沒有發現涉及我的問題的文章。如何在angularJS內置指令中訪問預定義的js全局變量?例如,我在 <script>var variable1 = true; </script>然后我寫一個AngularJS指令:<div ng-if="variable1">Show some hidden stuff!</div>這實際上是行不通的。然后我得知我應該使用 ng-init所以我在其他地方寫了代碼:<div ng-init = "angularVariable1 = variable1"></div>而且這顯然不能正常工作……這就像一個惡性循環。您需要訪問預定義的js全局變量,然后需要使用ng-init;為了使用ng-init,您需要訪問全局變量。有什么特別的方法嗎?
3 回答

牧羊人nacy
TA貢獻1862條經驗 獲得超7個贊
將全局變量復制到控制器范圍內的變量。
function MyCtrl($scope) {
$scope.variable1 = variable1;
}
然后,您可以像嘗試一樣訪問它。但是請注意,更改全局變量時,此變量不會更改。如果需要,可以改用全局對象并“復制”該對象。由于將通過引用“復制”它,因此它將是同一個對象,因此將應用更改(但是請記住,在AngularJS之外進行操作將需要您執行$ scope。$ appway)。
但是,如果您描述自己實際想要實現的目標,也許是值得的。因為使用這樣的全局變量幾乎從來不是一個好主意,并且可能有更好的方法來達到您的預期結果。
- 3 回答
- 0 關注
- 991 瀏覽
添加回答
舉報
0/150
提交
取消