2016-09-01 76 views
1

我有一個客戶模型。setInitialData函數沒有工作

class Customer { 
    public CustomerName = ko.observable(null); 
    public LastModifiedBy = ko.observable(null); 
} 

我創建了一個新的實例並想設置一些默認值。

var myEntities = ko.observableArray() 
var model = new Customer(); 
setDefault(model); 
myEntities.push(model); 

的方法是這樣的:

setDefault(m){ 
    m.CustomerName('Init'); 
    m.LastModifiedBy('Init') 
} 

但這行不通。 我無法在我的視圖中看到數據。

data-bind="foreach:  myEntities()" 
data-bind="text:  CustomerName" 

我得到了什麼問題?

+1

定義 「似乎不工作」?你可以做[mcve]嗎? – Jeroen

+0

我無法在我的視圖中看到數據。在和> – ATAO

回答

0

它看起來像你只是操縱變量,而不是創建視圖模型和使用其成員。這是一個使用(非常多)代碼的工作示例。

function Customer() { 
 
    this.CustomerName = ko.observable(null); 
 
    this.LastModifiedBy = ko.observable(null); 
 
} 
 

 
function setDefault(m) { 
 
    m.CustomerName('Init'); 
 
    m.LastModifiedBy('Init') 
 
} 
 

 
var myEntities = ko.observableArray() 
 
var model = new Customer(); 
 
setDefault(model); 
 
myEntities.push(model) 
 

 
ko.applyBindings({ 
 
    myEntities: myEntities 
 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script> 
 
<div data-bind="foreach:  myEntities"> 
 
    <div data-bind="text:  CustomerName"> 
 
    </div> 
 
</div>