Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在模块内部的Knockout.js viewmodels中使用模板_Javascript_Templates_Knockout.js - Fatal编程技术网

Javascript 在模块内部的Knockout.js viewmodels中使用模板

Javascript 在模块内部的Knockout.js viewmodels中使用模板,javascript,templates,knockout.js,Javascript,Templates,Knockout.js,因此,我正在将一个旧的web表单应用程序转换为更模块化的应用程序,并使用knockout重写页面。现在我已经完成了所有工作,我想将我的淘汰视图模型导出到一个模块中,但是我遇到了一个问题,即内置模板系统没有呈现模板 e、 g var MyPage=(函数($,ko){ var my={}; my.Message=函数(Message){ var self=这个; self.messageId=message.messageId; self.messageText=message.messageT

因此,我正在将一个旧的web表单应用程序转换为更模块化的应用程序,并使用knockout重写页面。现在我已经完成了所有工作,我想将我的淘汰视图模型导出到一个模块中,但是我遇到了一个问题,即内置模板系统没有呈现模板

e、 g


var MyPage=(函数($,ko){
var my={};
my.Message=函数(Message){
var self=这个;
self.messageId=message.messageId;
self.messageText=message.messageText;
};
my.MessageViewModel=函数(){
var self=这个;
self.messageArray=ko.observearray([]);
self.getMessageArray=函数(){
$.ajax({
//获取消息数组
成功:函数(){
//映射消息数组并将新的my.message推送到messageArray中
}
});
};
};
归还我的;
})(jQuery,ko);
$(文档).ready(函数(){
应用绑定(新的MyPage.MessageViewModel());
});
//从html开始
消息Id
消息文本

模板的名称需要引用如下:

<tbody data-bind="template: {name: 'messageTemplate', foreach: messageArray}">
  </tbody>


否则,它会尝试将
messageTemplate
作为一个变量进行评估,以确定要使用的模板名称。

这只是一个输入错误。在我的代码中,它是用引号括起来的。否则看起来没问题:除非你的问题是如何在AJAX调用的成功回调中设置数据。基本上,它归结为如何对表进行数据绑定<代码>$(“table tbody”).dataBind({template:{name:'messageTemplate',foreach:messageArray}”);不起作用。不起作用,我只是迟钝。一些背景。我有一个名为hidden的css类附加到表中,我想用该类选择tbody。我使用的jquery是
$('.hidden table tbody'))
,但这不是正确的语法。正确的语法应该是
$('table.search tbody')
,并将数据绑定附加到它。
$('table.hidden tbody”).dataBind({template:{name:'messageTemplate',foreach:messageArray}”);
。我讨厌css,所以请原谅这个愚蠢的问题。
<tbody data-bind="template: {name: 'messageTemplate', foreach: messageArray}">
  </tbody>