[英]initialize a scope variable with angularJs
我一直在使用ng-init="controllerFunction()"
從服務器獲取數據並將其顯示在表,圖表或其他任何東西上,並且每次加載頁面時都需要調用它。
現在使用ng-init
做這項工作,但這是最佳實踐嗎?
ng-init
主要用於將數據傳遞給init方法,例如剃刀數據( ng-init="someControllerFunction(@Model.ServerSideData)
)。如果您不傳遞任何數據,則可以直接在控制器中進行操作:
function myCtrl($scope) {
function myInitFunction(){
// fetch data etc.
}
myInitFunction();
}
這樣,您就不會公開init函數,並且很好地封裝在控制器中。
該文檔明確指出(在紅色警告中) ngInit
僅具有一些針對性的用例,並且不應在這些情況下使用
可以濫用此指令在模板中添加不必要的邏輯量。 ngInit只有少數適當的用法,例如別名ngRepeat的特殊屬性,如下面的演示所示; 以及通過服務器端腳本注入數據。 除了這幾種情況,您應該使用控制器而不是ngInit來初始化作用域上的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.