簡體   English   中英

用angularJs初始化范圍變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM