$("#ServiceID" + viewModel.ServiceID()).attr("src", viewModel.smallImageUrl());
#ServiceID
(是我的图片ID)和viewmodel.ServiceID
(是我唯一的ID)和viewmodel.smallImageUrl()是我在cdn中的图片网址
根据我的唯一ID更改我的图片。但它不适合我。我不知道jquery中的确切语法。
答案 0 :(得分:0)
正如@Anders已经指出的那样,Knockout推出了一种MVVM方法。这意味着,一方面,从演示文稿中分离数据。这意味着当你在viewmodel中执行jQuery时,你做错了(抱歉,如果这听起来很苛刻)。
建议的方法如下:在HTML中查找图像并对其应用绑定,以便将src设置为viewmodel的属性。所以它会是这样的:
<img id="ServiceID3" data-bind="attr: { src: $root.smallImageUrl }" /> // $root points to the viewModel you've bound using ko.applyBindings
JavaScript中的某个地方:
ko.applyBindings(viewModel);
如果这不起作用,如果viewmodel的observable持有您希望它们保存的值,则一种简单的调试方法是使用以下绑定向您的页面添加div:
<div data-bind="text: ko.toJSON($root)"></div> // This will output the contents of your viewmodel as a string