Khi tôi cố gắng để thay đổi màu nền của một hộp nhỏ bằng cách sử dụng style
knockout.js ràng buộc:Khớp nối kiểu Knockout: firefox không đặt màu nền?
<input class="biggerBox" type="text" data-bind="value: colorText, valueUpdate: 'afterkeydown'" />
<div class="littleBox" data-bind="style: {'background-color': colorText}"></div>
và trong js:
var viewModel = {
colorText: ko.observable('rgba(80, 120, 160, 1)')
};
ko.applyBindings(viewModel);
nó hoạt động giống như tôi mong đợi trong Chrome và Safari, màu nền của hộp nhỏ thay đổi khi tôi nhập văn bản vào hộp nhập liệu. Nhưng không phải trong Firefox 24.0 trên máy Mac; colorText có thể quan sát được, nhưng màu nền không bao giờ được đặt. Tuy nhiên, nếu tôi cố gắng thay đổi màu nền trước, nó sẽ hoạt động trên tất cả Chrome, Safari và Firefox. Tôi chưa thử IE.
Tôi có hiểu nhầm chương trình ở đây không? Hay đây có phải là lỗi knockout.js không? Hoặc một lỗi Firefox? Nó dường như không có bất cứ điều gì để làm với How to use the style data bindings?
jsfiddle here
Cảm ơn! Tôi không biết về quy ước đặt tên thuộc tính thay thế. Bạn giành chiến thắng một phút. Và cũng nhờ Tomalak. – emrys57
Thú vị! Tôi đã thực hiện một số điều tra thêm và lấy sự tự do của việc thêm phát hiện của tôi vào câu trả lời của @ sinanakyazici. – Jeroen
@Jeroen Phát hiện rất hay. Tôi nghĩ rằng tôi đã thấy một 'dấu gạch ngang-tên' để' propertyName' chuyển đổi chức năng một nơi nào đó trong nguồn KO vì vậy tôi giả định họ sẽ làm "điều đúng". Rõ ràng là không. – Tomalak