簡體   English   中英

調用AngularJS javascript函數時的正確語法

[英]Correct syntax when calling an AngularJS javascript function

我在下面定義的AngularJS JS文件中有一個JS函數,我稱之為它。

在JS文件本身中調用此函數時,正確的語法是什么,因為我需要在網格上進行硬刷新。

功能

viewModel.getGridData = function (ajaxUrl, searchValues)
        {
            $http.post(ajaxUrl, { searchCriteria: searchValues })
            .success(function (data)
            {
                viewModel.gridOptions.data = data.kvs;
            });
        };

調用功能

viewModel.getGridData(ajaxUrl, searchValues);

您應該考慮使“ getGridData”成為一個服務函數,該函數使用Angular的內部$ http服務返回一個承諾。 這種模式的好處是允許您在應用程序內的其他位置重用ajax請求, 許多人認為這是最佳實踐

myApp.factory('SearchService', function($http) {
    return {
      getGridData: function(url, valueObj) {
        return $http.post(url, valueObj);
      }
    }
});

promise將通過其內部ajax調用的解析來解決,因此您可以使用以下命令在控制器中調用factory函數(不要忘記將其作為依賴項注入!)

SearchService.getGridData(url, valueObject).then(function(result) {
    //you will have access to the result of the Ajax call inside this callback function only.
    //Be sure to bind it for use in other places in your application!
    console.log(result);
})

相關讀物:

$ http docs

角度服務文檔

暫無
暫無

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

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