red*_*237 3 javascript jquery jquery-ui knockout-2.0 knockout.js
我有以下代码片段
function Person() {
var id;
var name;
var loginName;
var email;
}
function Substitude() {
this.substitude = ko.observable(new Person());
this.subBegin = ko.observable(Date());
this.subEnd = ko.observable(Date());
}
function SampleSubstitude() {
var testing = ko.observable(new Substitude());
var tester = getPerson(88,"Alpha Tester","a.tester","a.tester@example.com");
testing.substitude = tester;
return ko.utils.unwrapObservable(testing);
}
function getPerson(id, name, login, email) {
var person = ko.observable(new Person());
person.id = id;
person.name = name;
person.loginName = login;
person.email = email;
return ko.utils.unwrapObservable(person);
}
Run Code Online (Sandbox Code Playgroud)
这是我的视图模型:
function AbsenceRequestModel() {
this.delegations = ko.observableArray();
this.addsubstitudeclick = function () {
var raw = SampleSubstitude();
var obj = ko.utils.unwrapObservable(new raw());
this.delegations.push(obj);
}
};
Run Code Online (Sandbox Code Playgroud)
不幸的是,推送到我的数组的所有值都是空的 任何人都可以给我一个提示,这里有什么不对吗?
如果所有值都是可观察的,那么在Person构造函数和对象之间不需要代理方法:
function Person(id, name, login, email) {
var id = ko.observable(id);
var name = ko.observable(name);
var loginName = ko.observable(login);
var email = ko.observable(email);
}
var person = new Person(1, "Name", "LoginName", 'aaaa@abc.cde');
>> ko.toJS(person)
{
id : 1,
name : "Name",
loginName : "LoginName",
email : "aaaa@abc.cde"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4321 次 |
| 最近记录: |