2013-04-05 61 views
0

我想我在這裏苦於基本知識。 代碼:訂閱不能與Knockout模型一起使用

var VehicleSearchViewModel = function() { 

    this.VehicleVariantId = ko.observable(0); 

    this.VehicleVariantId.subscribe(function (id) { 
     console.log(id); 
    }); 
}; 

從功能外的這,我做了以下內容:

VehicleSearchViewModel.VehicleVariantId = 777; 

...和console.log不火。儘管如果我在控制檯中鍵入VehicleSearchViewModel.VehicleVariantId,我可以看到它已更新爲新值。做這件事的正確方法是什麼?

+0

你究竟在哪裏綁定這個?我懷疑你是在爲你撥弄缺少'new'關鍵字 – 2013-04-05 16:03:17

回答

2

淘汰賽observables功能。您需要通過傳遞新值作爲參數來設置它們。

VehicleSearchViewModel.VehicleVariantId(777);

你真的應該通過the tutorials,你將有很多的,可以由他們來回答的問題。

+0

'reset'功能需要從另一個JavaScript類調用來複制我的要求 – Tsar 2013-04-05 16:13:36

+0

東西[像這樣](http://jsfiddle.net/tyrsius/X7ZuY/ 2 /)?如果沒有,請演示你的問題,它不清楚。 – Tyrsius 2013-04-05 16:26:51

+0

喜,它更像是這樣的:http://jsfiddle.net/X7ZuY/13/但它的作品。問題是我沒有像你一樣使用viewModel的''instance''。 – Tsar 2013-04-08 08:51:49