我正在学习Knockout的新手。我试图使用Ko.Computed
返回图片网址,我的图片存储在
图片 文件夹。
。在加载页面上我得到以下错误:
错误:无法解析绑定。
消息:ReferenceError:Url是
未定义;绑定值:text:Url
我的代码如下:
<script>
$(function () {
// Model
var Model = {
id: "1",
path: "/Images/"
};
// ViewModel
var ViewModel = function () {
var self = this;
self.Id = ko.observable(Model.id);
self.path = ko.observable(Model.path);
self.Url = ko.computed(function () {
return self.path+ self.Id+".jpg";
});
// etc...
};
ko.applyBindings(ViewModel);
});
</script>
我的HTML标记是:
<img data-bind="attr:{src:Url}" />
<span data-bind="text:Url"></span>
<span>Photo Id:</span>
<input data-bind="value:Id" type="text" />
答案 0 :(得分:2)
这样做:
self.Url = ko.computed(function () {
return self.path() + self.Id() + ".jpg";
});
由于path
和Id
是可观察的,因此您应该调用它们来获取值
编辑:您还应该在应用绑定之前创建对象@ haim770建议
ko.applyBindings(new ViewModel());