0
我有一個使用knockout.js和require.js庫的wep應用程序。假設我有'用戶'模型和'客戶'模型。我想客戶模式從用戶繼承,所以我現在有下面的代碼:使用requirejs定義模型繼承
user.js的
define(['knockout'], function(ko){
return function User(){
var self = this;
self.id = ko.observable();
self.firstname = ko.observable();
self.name = ko.observable();
};
});
Customer.js
define(['knockout', 'model/user'], function(ko, User){
return function Customer(){
var self = this;
self.address = ko.observable();
};
Customer.prototype = new User();
});
當我創建具有以下一個客戶代碼:
var c = new Customer();
c.id(1);
c.firstname("John");
c.name("Doe");
c.address("Unknown");
然後我得到在Chrome控制檯以下錯誤:
Uncaught TypeError: Object #<Customer> has no method 'id'
當我只設置地址屬性,我沒有看到這個錯誤,所以我假設繼承有問題。任何幫助是非常受歡迎的。
+1完美解決,非常感謝你! –
@BramW。它可能不是一個完美的解決方案。檢查這個問題:http://stackoverflow.com/questions/10520400/knockout-issue-with-prototypical-inheritance – nemesv
@nemesv爲什麼這個解決方案會更適合我的情況? –