2013-06-23 67 views

回答

1

只是作爲大媽答案的替代方案,如果您試圖將原始模型擴展爲動態模型,那麼您最好在原始模型中創建一個觀察值。

function ModelA() { 
    var self = this; 

    self.Message = ko.observable("Message"); 
    self.SubModel = ko.observable(); 

    self.extendModelB = function() { 
     self.SubModel(new ModelB()); 
    } 

    self.extendModelC = function() { 
     self.SubModel(new ModelC()); 
    } 
} 

function ModelB() { 
    var self = this; 

    self.Message2 = ko.observable("Message2"); 
} 

function ModelC() { 
    var self = this; 

    self.Message3 = ko.observable("Message3"); 
} 

然後在SubModel observable上使用with綁定。只是另一種選擇。

+0

感謝的答案,但我需要擴展一個已經綁定模式?而你沒有回答這個問題。 –

+1

如果不多次調用應用綁定(您不應該爲單個模型/視圖執行此操作),則無法在視圖模型上動態創建新屬性,並期望它們綁定到您的視圖。我所描述的是一種選擇,[這裏](http://www.knockmeout.net/2012/05/quick-tip-skip-binding.html)是另一種可以遵循的選擇,可以更好地滿足您的需求。 –

+0

它不能解決我的問題,但謝謝你的回答。好暱稱:) –

相關問題