簡體   English   中英

AngularJS:$ http請求出現問題-jQuery函數調用未更新DOM

[英]AngularJS: Issue with $http request - DOM not updated for jQuery function call

我遇到一個問題,即調用$ http請求不會更新jQuery函數調用的DOM。

請檢查柱塞

在我的代碼script.js中,出於測試目的,我具有$ scope.components全局和函數。 但是,當我將json值硬編碼為全局變量時,一切正常。 當我將json作為$ http響應時,樹結構的展開和折疊功能停止工作。

以下是我的$ http請求代碼

$scope.init = function init() {
$http.get('treeData.json').success(function(data) {
  $scope.components = data;
}).error(function(data) {

});

};

請讓我知道我在做什么錯。

這是因為在從treedata.json獲取數據之前,您的jQuery代碼正在執行。 $http將創建一個Promise,因此在Promise得到解決后,請移動jQuery邏輯。 我已經更新了塞子。

[http://plnkr.co/edit/XuxO29FZUoXf84nVvjrg?p=preview][1]

您應該首先定義組件,如下所示: $scope.components = [];

看起來從服務器返回的數據不是JSON格式。 默認情況下, $http.get接受JSON返回類型。 因此,您的成功功能無法執行。

更新您可以檢查Angular文檔中是否使用$ http。 推薦的方法是使用get ,如下所示。

$http.get('/someUrl', config).then(successCallback, errorCallback);

嘗試$ scope。$ apply($ scope.components = data);

暫無
暫無

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

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