【发布时间】:2015-06-30 00:46:47
【问题描述】:
我目前正在学习如何在我的项目中加入 knockoutJS,但是,我遇到了一个让我很困惑的问题。
我有一个简单的计算 observable,它返回两个连接字符串的值。我遇到的问题是该方法在视图首次加载时返回正确的值,但是,如果我更新函数中使用的一个可观察对象,则不会显示更新的值。
index.cshtml
@model KnockoutProjectt.Models.Register
<input type="text" data-bind="value: forename" />
<p data-bind="text: forename"></p>
<p data-bind="text: getFullName"></p>
@section Script {
<script src="~/Scripts/scripts.js"></script>
<script>
var options = {
forename: '@Html.Raw(Model.Forename)',
surname: '@Html.Raw(Model.Surname)',
email: '@Html.Raw(Model.Email)'
};
var viewModel = init(options);
ko.applyBindings(viewModel);
</script>
}
scripts.js
function init(options) {
var viewModel = {
forename: ko.observable(options.forename),
surname: ko.observable(options.surname),
email: ko.observable(options.email)
}
viewModel.getFullName = ko.computed(function () {
return options.forename + ' ' + options.surname;
});
return viewModel;
}
任何帮助将不胜感激。
【问题讨论】: