簡體   English   中英

如何在angular.js中的html加載上調用控制器方法

[英]How to call controller method on html load in angular.js

我在AngularJS控制器中編寫了一種方法,用於根據頁面上選擇的語言將純字符串轉換為全球化字符串。

此控制器方法在內部調用Angular服務方法,該方法調用mvc控制器方法。

控制器方式:

$scope.getGlobalizedText = function(cultureId, key) {
    DataServiceDeviceSummary.getGlobalizedText(cultureId, key).success(function (message) {
        $scope.DeviceName = message;
            console.log(message);
        }).
        error(function (error) {
            console.log(error);
        });
    }

我想在很多地方調用此方法,例如用於填充標簽或用於填充html表的標頭值。

我通過以下方式調用此方法:

<th colspan="2">
    <a data-order="Ascending">{{getGlobalizedText(2, 'DeviceName')}}</a>
</th>

像這樣調用控制器方法時,我面臨兩個問題:

  1. 鑒於此方法已成功傳遞並返回正確的結果,因此將無限次調用此方法。
  2. 返回值未在超鏈接中填充。

我不確定為什么會這樣。 另外,我無法在某些按鈕click事件或任何類似事件上調用此方法,因為每當我加載頁面或在html中填充一些新文本時,都可能需要多次調用此方法。

您可以按以下步驟在准備好的文檔上調用此方法:

angular.element(document).ready(function () {
    /* considering $scope.getGlobalizedText method is defined already */
    $scope.getGlobalizedText(2, 'DeviceName');
});

每當在HTML中填充一些新文本時,也請調用此方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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