Я работаю над веб-проектом, и мы хотим попытаться использовать KnockoutJS. Для начала, я построить мое приложение с Chrome (дело на чиновника, Нокаут, кажется, работает с IE8), но когда я пытаюсь мой веб-приложения в IE8, я получил много исключений:Проблемы с нокаутом с привязками IE8
HTML:
<ul class="nav nav-tabs" id="tabs" data-bind="foreach: items">
<li data-bind="'id': 'id', css: { active: 'id' == $parent.selectedTab().id }, 'click': $parent.changeTab">
<a data-toggle="tab" data-bind="text: name, attr: { 'href': 'href' }"></a>
</li>
</ul>
JS:
var tabs = [
new TabViewModel(1, "Tab 1", true),
new TabViewModel(2, "Tab 2", true),
new TabViewModel(3, "Tab 3", false),
];
function TabViewModel(id, name, enabled) {
var self = this;
self.id = ko.observable("test" + id);
self.name = name;
self.paneId = "tab" + id;
self.href = ko.observable("#tab" + id);
self.displayId = "header_tab" + id;
self.enabled = ko.observable(enabled);
ko.bindingHandlers.changeStates = {
init: function (element, valueAccessor) {
var enable = valueAccessor();
if (enable) {
$(element).removeClass("disabled");
} else {
$(element).addClass("disabled");
}
},
update: function (element, valueAccessor) {
var enable = valueAccessor();
if (enable) {
$(element).removeClass("disabled");
} else {
$(element).addClass("disabled");
}
}
}
}
function SurveyViewModel(tabs) {
var self = this;
self.items = ko.observableArray(tabs);
self.selectedTab = ko.observable(self.items()[0]);
self.changeTab = function (tab) {
if (tab.enabled())
self.selectedTab(tab);
return true;
};
}
ko.applyBindings(new SurveyViewModel(tabs));
у меня есть вопросы:
- 2 линии, вбрасывания исключением 'changesStates':
Unable to parse bindings. Message: TypeError: Object expected; Bindings value
- 3 белье с HREF собственности:
Заранее спасибо
Каковы кавычки вокруг ваших свойств в вашем атрибуте привязки данных? – CodingIntrigue
Знаете ли вы, что для привязки значения к атрибуту id вы должны использовать привязку attr? –
Какую версию нокаута вы используете? Я не вижу ошибок в IE8. См. Http://jsfiddle.net/DoctorMick/PNc9P/ – DoctorMick