Вопрос по – Шаблон нокаута, использующий привязку данных к свойству src изображения, не работает

65

Я не вижу, что здесь не так, но изображение не отображается с использованием следующего шаблона нокаута:

<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.

ТИА.

Ваш Ответ

1   ответ
161

попробуйте использоватьattr - это позволит вам установить любой атрибут элемента.

<img width="16px" height="16px" data-bind="attr:{src: imagePath}" />  
Спасибо за ответ, НО, когда это дает мне следующую ошибку: Ошибка времени выполнения Microsoft JScript: Невозможно проанализировать привязки. Сообщение: SyntaxError: Ожидается ':'; Значение привязок: attr {src: imagePath} Klaus Nji
Понял, спасибо. Должно быть <img width = "16px" height = "16px" data-bind = "attr: {src: imagePath}" /> Klaus Nji
извините за это - # примечание к себе: не отвечайте на вопросы, смотря "Die Hard 3" снова;) web_bod
fyi: атрибуты ширины и высоты тега изображения не должны иметь "px" <img width = "16" height = "16" data-bind = "attr: {src: imagePath}" /> chris
Я использую последнюю версию 3.4.0, и этот ответ по-прежнему работает очень хорошо. Geek Stocks

Похожие вопросы