Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.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 获得$“未定义项目”;关于应用绑定_Javascript_Jquery_Knockout.js_Jquery Templates - Fatal编程技术网

Javascript 获得$“未定义项目”;关于应用绑定

Javascript 获得$“未定义项目”;关于应用绑定,javascript,jquery,knockout.js,jquery-templates,Javascript,Jquery,Knockout.js,Jquery Templates,我正在尝试使用knockout进行一个非常基本的绑定,但是在从jquery.tmpl访问$item变量时遇到了问题。应用绑定时,我不断得到“$item未定义” 我以前做过,所以我知道这是可以做到的,但我不明白为什么它在这种情况下不起作用。有趣的是,如果我删除模板选项:{parentItem:$item},那么一切都会按预期工作 我已经包括了以下文件 我的模板和绑定如下所示 #项目数目: 我使用以下方式进行绑定: //viewModel contains a contentItems ob

我正在尝试使用knockout进行一个非常基本的绑定,但是在从jquery.tmpl访问
$item
变量时遇到了问题。应用绑定时,我不断得到“
$item
未定义”

我以前做过,所以我知道这是可以做到的,但我不明白为什么它在这种情况下不起作用。有趣的是,如果我删除
模板选项:{parentItem:$item}
,那么一切都会按预期工作

我已经包括了以下文件


我的模板和绑定如下所示


#项目数目:
我使用以下方式进行绑定:

//viewModel contains a contentItems observableArray
ko.applyBindings(viewModel, $('.filterResults')[0]);

好的,看来我能自己回答这个问题。问题似乎在于,我进行数据绑定并试图访问jquery.tmpl变量$item的部分实际上没有使用jquery.tmpl

<tr data-bind="template: { name: 'itemTemplate', foreach: contentItems, 
        templateOptions:{parentItem: $item} 
        }"> </tr>

它不在模板中,因此没有要访问的$item变量$项与jquery.tmpl关联,而不是与knockoutjs关联。我解决这个问题的方法是把我的视图模型放在那里

<tr data-bind="template: { name: 'itemTemplate', foreach: contentItems, 
        templateOptions:{parentItem: viewModel} 
        }"> </tr>


在实际的模板中(本例中为itemTemplate),我可以访问$item变量。

好的,看起来我可以自己回答这个问题。问题似乎在于,我进行数据绑定并试图访问jquery.tmpl变量$item的部分实际上没有使用jquery.tmpl

<tr data-bind="template: { name: 'itemTemplate', foreach: contentItems, 
        templateOptions:{parentItem: $item} 
        }"> </tr>

它不在模板中,因此没有要访问的$item变量$项与jquery.tmpl关联,而不是与knockoutjs关联。我解决这个问题的方法是把我的视图模型放在那里

<tr data-bind="template: { name: 'itemTemplate', foreach: contentItems, 
        templateOptions:{parentItem: viewModel} 
        }"> </tr>


在实际的模板中(本例中为itemTemplate),我可以访问$item变量。

您显然会遇到错误,因为没有定义为
$item
的对象。您到底想传递什么作为
parentItem
?您可以使用templateright中的
${}
访问当前对象,我知道$item对象没有定义。我不明白的是为什么在这种情况下它没有定义。我的理解是,它是一个应该由jquery.tmpl创建和管理的对象。注释6中的敲除文档中有一个示例,您显然会遇到错误,因为没有定义为
$item
的对象。您到底想传递什么作为
parentItem
?您可以使用templateright中的
${}
访问当前对象,我知道$item对象没有定义。我不明白的是为什么在这种情况下它没有定义。我的理解是,它是一个应该由jquery.tmpl创建和管理的对象。注释6中的淘汰文档中有一个示例