Javascript 为什么我无法在此自定义绑定中获取当前viewModel?
这是包含我的绑定的.haml代码。我删除了不相关的绑定Javascript 为什么我无法在此自定义绑定中获取当前viewModel?,javascript,knockout.js,Javascript,Knockout.js,这是包含我的绑定的.haml代码。我删除了不相关的绑定 #date-extension .filter-extension-container .filter-extension-button .button-close #hand-graph-container{"data-bind" => "with:dateGraph"} #x-axis #hand-graph{"data-bind" => "foreach: {data
#date-extension
.filter-extension-container
.filter-extension-button
.button-close
#hand-graph-container{"data-bind" => "with:dateGraph"}
#x-axis
#hand-graph{"data-bind" => "foreach: {data:graphData}"}
%div{"data-bind" => "interactiveBar: $data"}
我有一个定制装订的开始,就像这样
ko.bindingHandlers.interactiveBar = {
init: function(element, valueAccessor, allBindingsAccessor, viewModel) {
debugger;
},
update: function(element, valueAccessor, allBindingsAccessor, viewModel) {
}
};
但当我查看viewModel时,它等于valueAccessor,只是我要传递的数据对象。我想要访问dateGraph viewModel,并且应该能够访问它,因为根据文档,我使用了“with:graphData” 在
foreach
中,viewModel
属性是在该范围级别绑定的数据
有几个选项(假设您使用的是淘汰2.0):
- 传递
而不是$parent
,并通过$data
valueAccessor()访问
对象dateGraph
- 或者绑定处理程序的第五个参数实际上是绑定上下文。绑定上下文将具有
、$data
、$parent
和$parents
属性。您可以看到属性的描述$root
foreach
中,viewModel
属性是在该范围级别绑定的数据
有几个选项(假设您使用的是淘汰2.0):
- 传递
而不是$parent
,并通过$data
valueAccessor()访问
对象dateGraph
- 或者绑定处理程序的第五个参数实际上是绑定上下文。绑定上下文将具有
、$data
、$parent
和$parents
属性。您可以看到属性的描述$root