Mod*_*inu 6 javascript knockout.js
我有一个具有多个可观察对象的对象.在计算机中是否有一种方法可以知道哪些可观察的变化,因此哪个观察到了计算的?
提前谢谢马修
如果没有详细说明您想要实现的目标,我将发布此内容,希望它能有所帮助。
.subscribe跟踪更改的一个简单方法是在要跟踪的可观察对象上使用该方法。每次可观察值更新时,此方法都会触发。
self.myValue = ko.observable('initial value');
self.myValue.subscribe(function (item) {
alert('myValue has changed to: ' + item);
});
Run Code Online (Sandbox Code Playgroud)
传入itemsubscribe 函数的值是可选的,因此您可以根据需要使用新值。
这是一个与计算一起使用的简单示例:
JS:
var viewModel = function () {
var self = this;
self.firstName = ko.observable('Mod');
self.lastName = ko.observable('dinu');
self.valueChanged = ko.observable('');
self.fullName = ko.computed(function () {
var val = '';
if (self.valueChanged() !== '') {
val = ' (' + self.valueChanged() + ' Changed)';
}
return self.firstName() + ' ' + self.lastName() + val;
});
self.firstName.subscribe(function () {
self.valueChanged('First Name');
});
self.lastName.subscribe(function () {
self.valueChanged('Last Name');
});
};
ko.applyBindings(new viewModel());
Run Code Online (Sandbox Code Playgroud)
HTML:
<div>
<label for="fname">First Name:</label>
<input id="fname" data-bind="value: firstName" />
</div>
<div>
<label for="lname">Last Name:</label>
<input id="lname" data-bind="value: lastName" />
</div>
<hr />
<div>Hello <span data-bind="text: fullName"></span></div>
<hr />
<div>Value Changed: <span data-bind="text: valueChanged"></span></div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
969 次 |
| 最近记录: |