2012-05-18 23 views
61

Tôi không thể nhìn thấy những gì là sai ở đây nhưng hình ảnh không hiển thị bằng cách sử dụng mẫu Knockout sau:Knockout mẫu sử dụng dữ liệu ràng buộc để sở hữu hình ảnh src không làm việc

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

Đối tượng này đang được ràng buộc để trông giống như này:

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?"); 
    } 
}; 

Khi đối tượng HTML được hiển thị, tôi thấy nhãn và nhấp vào hộp kiểm sẽ gọi doSomething.

TIA.

Trả lời

150

Chỉ một số thuộc tính mới có thể bị ràng buộc trực tiếp; hãy thử sử dụng attr - nó sẽ cho phép bạn đặt bất kỳ thuộc tính nào trên một phần tử.

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

Cảm ơn bạn đã trả lời NHƯNG khi điều này cho tôi lỗi sau: Lỗi thời gian chạy Microsoft JScript: Không thể phân tích cú pháp ràng buộc. Thông báo: Cú phápError: Dự kiến ​​':'; Giá trị ràng buộc: attr {src: imagePath} –

+0

OK, cảm ơn. Nên là

+22

xin lỗi về điều đó - #note cho chính mình: không trả lời câu hỏi xem "Die Hard 3" một lần nữa;) –

Các vấn đề liên quan