Kendo-Knockout: вызов метода, который изменяет свойство viewmodel из шаблона с привязкой данных внутри сетки, нарушает привязки

Я использую библиотеку кендо-нокаута Р.П.Нимейера. У меня есть сетка кендо с шаблоном кендо. В шаблоне есть кнопка, которая использует привязку щелчка для выбивания, которая вызывает метод, который изменяет viewModel. Действия по воспроизведению:

Нажмите кнопку в сетке.Вызывается метод, который изменяет свойство viewModel и оповещает о новом значении.Нажмите кнопку еще раз. Кнопка больше не работает.

Примечание: если вы удалите строку, которая изменяет свойство модели представления, все работает нормально.

Пожалуйста, объясните причину, почему это не работает, и любые идеи и решения будут высоко оценены. Благодарю вас!

HTML:

<div id="grid"  data-bind="kendoGrid: { data: fruits, columns: [ 
            {
                field: 'name',
                title: 'Fruit',
                width: 50
            },
            {
                template: '<button class=\'k-button\' data-bind=\'click: function() { changeFruit() }\' >Change Fruit Name</button>',
                width: 30
            }               

         ], 
        scrollable: false, sortable: true, pageable: false }" style="height: 380px">
    </div>

JavaScript:

var ViewModel = function() {
    this.fruit1 = {
        color: ko.observable("green"),
        name: ko.observable("apple"),
    };

    this.fruit2 = {
        color: ko.observable("orange"),
        name: ko.observable("orange"),
    };


    this.fruits = ko.observableArray([
        this.fruit1, 
        this.fruit2
    ]);

    this.changeFruit = function() {
        // this line breaks the binding, 
        // when You change the property of the viewModel
        // You cannot call this function any more
        this.fruits()[0].name("Test");
        alert(this.fruits()[0].name());
    }
};

ko.applyBindings(new ViewModel());​

http://jsfiddle.net/hXn7e/25/

Ответы на вопрос(1)

Ваш ответ на вопрос