回答

3

我已修復您的plunk:http://plnkr.co/edit/JNBmsjzdj6SHOSK4kPNh

您的服務有一個對象,您將其放入$ scope($ scope.item)的模型中。到現在爲止還挺好。但是,您隨後使用新的對象引用($ scope.thisObject)更新服務對象,以便$ scope.item和myService.myObject現在引用完全不同的對象。

您應該只更新對象屬性。詳情請參閱plunk。

因此,而不是寫:

app.factory('myService',function(){ 
    var service = { 
     myObject:{}, 
     changeProperty: function(newProperty){ 
     this.myObject = newProperty; 
     } 
    }; 
    return service; 
}); 

你應該使用:

app.factory('myService',function(){ 
    var service = { 
     myObject:{}, 
     changeProperty: function(newProperty){ 
     this.myObject.text = newProperty.text; 
     } 
    }; 
    return service; 
}); 

希望有所幫助。

+0

嘎!我感到很傻。我記得現在從[最佳實踐視頻](http://www.youtube.com/watch?v=ZhfUv0spHCY)做了一段時間。他花了一段時間來解決這個問題,現在我想到了。他關於這個問題的最後一句話是「如果沒有一段時間,你做錯了」 – JHixson

相關問題