【发布时间】:2015-06-02 03:36:41
【问题描述】:
我是knockout.js 的新手,我有一个问题。我找到了一些代码here。我的 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>
【问题讨论】:
-
看起来对我有用,请查看jsfiddle.net/supercool/LkqTU/23414。如果您特别在寻找某些东西,请告诉我们,干杯
-
试试这个上面的小提琴看起来因拼写错误而损坏。 jsfiddle.net/supercool/LkqTU/23416
-
当您单击文件夹按钮时,它会从服务器获取 json 并将其写入 span? @supercool
-
是的,您只需调用 ajax 即可动态获取您的数据并推送到
self.chosenFolderData。 -
是的,你说得对; self.chosenFolderData({'name':folder}); > $.get(ajax_url+'Dieticians/video/'+folder,null, self.chosenFolderData);它返回 "{"id":"1","name":"cardio","image":"aslmk\u015fga\u015fgkl","header":"Kardio","message":"message text"} ” 。但不要在跨度中写任何东西。 @supercool
标签: javascript php jquery json knockout.js