| senglory | 
			09.10.2016 15:54 | 
		 
		 
		
		 
		
		
			Knockout как-то странно подставляет данные   
		
		
		
		Вот моя разметка 
<div id="ctlAlert" class="alert error-message">
<ul id="ctlAlertUL" data-bind="foreach: allErrors">
<li data-bind="text: $data" class="text-danger"></li>
</ul>
</div>
<button id="btnErr1">Err1</button>
<button id="btnErr2">No ERR</button>
 
Вот код:
 
	Код: 
	
 <script> 
 
 
 
 
 
        $(document).ready(function () { 
 
 
 
var ErrorsListModel = function (items) { 
 
        var self = this; 
 
        self.allErrors = ko.observableArray(items); 
 
        self.hasErrors = ko.computed(function () { 
 
            return self.allErrors().length > 0; 
 
        }); 
 
    } 
 
 
 
     
 
    $("#btnErr1").click(function (evt) 
 
    { 
 
ko.cleanNode($("#ctlAlertUL")[0]); 
 
      var rt = '["msg1", "msg2"]'; 
 
      var ve = $.parseJSON(rt); 
 
      ko.applyBindings(new ErrorsListModel(ve), $("#ctlAlertUL")[0]); 
 
    }); 
 
 
 
 
 
    $("#btnErr2").click(function (evt) 
 
    { 
 
ko.cleanNode($("#ctlAlertUL")[0]); 
 
      var rt = '[]'; 
 
      var ve = $.parseJSON(rt); 
 
      ko.applyBindings(new ErrorsListModel(ve), $("#ctlAlertUL")[0]); 
 
    }); 
 
 
 
}); 
 
 
 
    </script> 
 1. Кликаю на Err1 несколько раз и список с сообщениями разрастается.
 
2. Кликнул на NoERR, список очистился. После этого кликаю на Err1 — никаких сообщений больше не добавляется.
 
Что я делаю не так?  
	 |