【发布时间】:2018-05-29 11:36:37
【问题描述】:
我正在使用敲除来绑定一些输入框上的值。 我还将模型设置为订阅全局变量(数据)的值。
function AppViewModel() {
this.username = ko.observable(data.user.name);
this.name = ko.observable(data.visibleByRegisteredUsers.name);
this.phone = ko.observable(data.visibleByRegisteredUsers.phone);
this.gender = ko.observable(data.visibleByRegisteredUsers.gender);
this.distance = ko.observable(data.visibleByRegisteredUsers.distance);
this.address = ko.observable(data.visibleByRegisteredUsers.address);
this.postcode = ko.observable(data.visibleByRegisteredUsers.postcode);
this.latitude = ko.observable(data.visibleByRegisteredUsers.latitude);
this.longitude = ko.observable(data.visibleByRegisteredUsers.longitude);
this.name.subscribe(function (newData) {
data.visibleByRegisteredUsers.name = newData;
});
this.phone.subscribe(function (newData) {
data.visibleByRegisteredUsers.phone = newData;
});
this.gender.subscribe(function (newGender) {
data.visibleByRegisteredUsers.gender = newGender;
});
this.distance.subscribe(function (newData) {
data.visibleByRegisteredUsers.distance = newData;
});
this.address.subscribe(function (newData) {
data.visibleByRegisteredUsers.address = newData;
});
this.postcode.subscribe(function (newData) {
data.visibleByRegisteredUsers.postcode = newData;
});
this.latitude.subscribe(function (newData) {
data.visibleByRegisteredUsers.latitude = newData;
});
this.longitude.subscribe(function (newData) {
data.visibleByRegisteredUsers.longitude = newData;
});
}
ko.applyBindings(new AppViewModel());
我正在像这样绑定输入值:
<input type="text" class="form-control" placeholder="Lat" id="lat" aria-describedby="basic-addon1" required data-bind="value:latitude">
如果我随后更新数据对象,例如为 data.visibleByRegisteredUsers.latitude 设置值,则输入框不会被更新。我的设置有什么不正确的地方吗?
【问题讨论】: