2015-12-02 66 views
0

我的用戶界面綁定到一對連接到對象參數的範圍變量。即使在綁定範圍變量更新後,UI元素(網格)也不會更新

當我更新update()方法中的綁定變量時,我的UI網格沒有得到更新。該變量具有所有必需的屬性和值。

function update() { 
     $scope.summaryValuesStruct = service.summaryValuesStruct; 
     $scope.aggregateByValue = service.aggregation; 
    } 

更新被調用後,我期待UI網格會得到更新,因爲服務對象將新的值放入變量中。

+0

請提供html也 –

+0

您確定這些值已更新您的服務?你有沒有嘗試輸出(console.log)這些值和範圍變量的值,當調用更新來驗證函數被調用時的值是什麼? –

+0

更新函數如何被調用? – xersiee

回答

0

雖然這是缺少很多信息,我的猜測是,這是因爲你直接在$scope上使用屬性。我猜測它正在更新一個子範圍而不是父級。

請嘗試將數據作爲對象存儲在範圍中。

function update() { 
     $scope.data.summaryValuesStruct = service.summaryValuesStruct; 
     $scope.data.aggregateByValue = service.aggregation; 
    } 

有關更深入的說明,請參閱jimhoskins.com/2012/12/14/nested-scopes-in-angularjs.html

+0

可以請更新一點,爲什麼它會更新子範圍,我們不應該直接在$ scope上使用屬性 –

+0

它涉及到Javascript如何處理原型繼承對象(這是構建範圍繼承)。 http://jimhoskins.com/2012/12/14/nested-scopes-in-angularjs.html是比我在這裏可以解釋的更好的文章。 controllerAs語法也可以解決這個問題。 –

相關問題