IE8 Binding error - PullRequest
       10

IE8 Binding error

0 голосов
/ 30 марта 2012

Я получаю следующую ошибку в IE8 при попытке привязки данных к тегу <input>:

Невозможно разобрать привязки.

Сообщение: [Ошибка объекта];

Значение привязок: enable: $ root.hasTag ('foo')

По сути, у меня есть флажок включения привязки данных, который должен отключить флажок, если нет моделей с определенным тегом.

<input type="checkbox" data-bind="enable: $root.hasTag('foo')" value="foo" 
    class="filtercheck" />

Viewmodel имеет следующий метод для циклического перебора всех моделей и суммирования моделей с соответствующим тегом, если значение больше 0, а затем вернуть true.

self.hasTag = function(tag) {
    var sum = 0;
    var item;
    for (var i=0; i<this.items().length; i++) {
        item = this.items()[i];
        if (item.tags().indexOf(tag) != -1) {
            sum++;
        } else {
            continue;
        }        
    }
    return (sum > 0) ? true : false;
};

Почему эта привязка данных выдает ошибку только в IE8?

1 Ответ

2 голосов
/ 30 марта 2012

Я полагаю, это потому, что indexOf не определен в IE8. Сделал быстрый тест, и он возвращает неопределенное. Вам придется предоставить собственную версию .

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...