这是场景:
我目前有一个看起来像下面的对象:
运行modal.PersonInfo
之后,我得到从第3行开始返回的对象。请参见上图。
问题:在HTML中,如何调用FirstName
和LastName
错误状态:Uncaught ReferenceError: Unable to process binding "text: function (){return PersonInfo().FirstName}" Message PersonInfo is not defined
JavaScript:
function Person() {
var modal = this;
modal.PersonInfo = ko.observable('');
modal.setData = function (id) {
$.ajax({
type: "GET",
url: '/Person/UserInformation?id=' + id,
contentType: "application/json; charset=utf-8",
success: function (data) {
modal.setPersonInfo(data);
$('#person-modal').modal('show');
}
});
modal.setPersonInfo = function (data) {
modal.PersonInfo = data;
}
}
};
的HTML
我的想法是我可以执行以下操作:
<p data-bind="text: PersonInfo().FirstName"></p>
<p data-bind="text: PersonInfo().LastName"></p>
最佳答案
该行替换可观察值,而不是分配值:
modal.PersonInfo = data;
尝试以下方法:
modal.PersonInfo(data)
还有一个放错了的右括号:
model.setPersonInfo
在model.setData
内部请参见working demo。