Я новичок в knockout.js
и у меня есть вопрос. Я нашел код Вот. Моя функция get возвращает {"id":"1", "name":"cardio", "image":"aslas", "header":"Kardio", "message":"message\r\n"}
Но это не работает. Может кто-нибудь мне помочь? Спасибо
<ul class="folders" data-bind="foreach: folders">
<li data-bind="text: $data,
css: { selected: $data == $root.chosenFolderId() },
click: $root.goToFolder"></li>
</ul>
<div class="mails" data-bind="with: chosenFolderData">
<p><label>From</label>: <span data-bind="text: name"></span></p>
</div>
<script>
function WebmailViewModel() {
// Data
var self = this;
self.folders = ['cardio', 'classic', 'mass', 'abs']
;
self.chosenFolderId = ko.observable();
self.chosenFolderData = ko.observable();
self.chosenMailData = ko.observable();
// Behaviours
self.goToFolder = function(folder) {
self.chosenFolderId(folder);
self.chosenMailData(null);
$.get(ajax_url+'Dieticians/video/'+folder,null, self.chosenFolderData);
};
self.goToFolder('Inbox');
};
ko.applyBindings(new WebmailViewModel());
</script>
Это то, что вы ищите?: http://jsfiddle.net/58tkrbd9/3/
<ul class="folders" data-bind="foreach: folders">
<li data-bind="text: $data,
css: { selected: $data == $root.chosenFolderId() },
click: $root.goToFolder"></li>
</ul>
<br>
<div class="mails" data-bind="with: chosenFolderData">
<p><label>From</label>: <span data-bind="text: name"></span></p>
</div>
<script type="text/javascript">
function WebmailViewModel() {
var self = this;
self.folders = ko.observableArray(['cardio', 'classic', 'mass', 'abs']);
self.chosenFolderId = ko.observable();
self.chosenFolderData = ko.observable();
self.chosenMailData = ko.observable();
// Behaviours
self.goToFolder = function(folder) {
console.log(folder);
self.chosenFolderId(folder);
self.chosenMailData(null);
//apply you ajax call and fill 'chosenFolderData'
self.chosenFolderData({"id":"1", "name":"cardio", "image":"aslas", "header":"Kardio", "message":"message\r\n"});
};
self.goToFolder('Inbox');
};
ko.applyBindings(new WebmailViewModel());
</script>
[/ NOEDIT]
Других решений пока нет …