使用数据绑定到图像src属性的删除模板不起作用


69

我看不到这里出了什么问题,但是使用以下的Knockout模板无法显示图片:

<script type="text/html" id="legend-template">       
    <div><input type="checkbox" data-bind="click : doSomething" ></input>
        <img width="16px" height="16px" data-bind="src: 'imagePath'" />          
        <span data-bind="text : label"> </span>
    </div>        
</script>

绑定到的对象如下所示:

tut.myObject= function (imagePath, label) {
    this.label = ko.observable(label);
    this.imagePath = ko.observable(imagePath || liveString + '/Content/images/marker.png');   
};

tut.myObject.prototype = {
    doSomething: function () { alert("do what?");
     }
};

呈现HTML对象时,我会看到标签,然后单击复选框将调用doSomething。

TIA。

Answers:


170

只有少数几个属性可以直接绑定。尝试使用attr-它可以让您在元素上设置任何属性。

<img width="16px" height="16px" data-bind="attr:{src: imagePath}" />  

感谢您的答复,但是给我以下错误:Microsoft JScript运行时错误:无法解析绑定。讯息:SyntaxError:预期为':'; 绑定值:attr {src:imagePath}
克劳斯·纳吉

知道了谢谢。应该为<img width =“ 16px” height =“ 16px” data-bind =“ attr:{src:imagePath}” />
Klaus Nji 2012年

27
对此感到抱歉-#自我注释:不要再看“ Die Hard 3”就回答问题;)
web_bod 2012年

1
仅供参考:图片标记的width和height属性不应包含“ px” <img width =“ 16” height =“ 16” data-bind =“ attr:{src:imagePath}” />
chris

2
我正在使用最新的版本3.4.0,并且此答案仍然可以正常工作。
极客股票
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.