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

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