Javascript 如何在自定义绑定敲除中访问模型属性
我正在为jquery ui选项卡使用knockout.js自定义绑定。我创建了一个小提琴示例 在这里,我试图通过allBindingsAccessor在自定义绑定中设置当前模型对象的currentSelectedTab属性。但获取模型obejct没有currentSelectedTab函数的错误。有什么问题吗?根据,init函数的签名如下:Javascript 如何在自定义绑定敲除中访问模型属性,javascript,jquery,knockout.js,Javascript,Jquery,Knockout.js,我正在为jquery ui选项卡使用knockout.js自定义绑定。我创建了一个小提琴示例 在这里,我试图通过allBindingsAccessor在自定义绑定中设置当前模型对象的currentSelectedTab属性。但获取模型obejct没有currentSelectedTab函数的错误。有什么问题吗?根据,init函数的签名如下: init: function(element, valueAccessor, allBindingsAccessor, viewModel, binding
init: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext)
这里,viewModel是传递给ko.applyBindings的模型对象。因此,在init函数参数中的allBindingsAccessor之后添加viewModel参数后,您可以通过以下方式更改代码:
而不是
allBindingsAccessor().currentSelectedTab(ui.index);
你可以写
viewModel.currentSelectedTab(ui.index);
根据,init函数的签名如下所示:
init: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext)
这里,viewModel是传递给ko.applyBindings的模型对象。因此,在init函数参数中的allBindingsAccessor之后添加viewModel参数后,您可以通过以下方式更改代码:
而不是
allBindingsAccessor().currentSelectedTab(ui.index);
你可以写
viewModel.currentSelectedTab(ui.index);
如果要访问当前模型,需要使用第四个参数扩展init函数,该参数将是当前视图模型对象:
您可以在这里试用:如果要访问当前模型,需要使用第四个参数扩展init函数,该参数将是当前视图模型对象:
您可以在这里尝试:我认为问题似乎是您试图通过viewmodel名称而不是绑定访问器指针来访问该值 你可以试试: HTML
我认为这是一个很好的方法。我认为问题似乎是您试图通过viewmodel名称而不是绑定访问器指针来访问值 你可以试试: HTML
我认为这是一个很好的方法。我没有时间提供完整的解决方案,但作为初学者,allBindingsAccessor将返回当前绑定上下文中的所有绑定,其中一个是tab。因此,语法应该是var tab=allBindingsAccessor.tab-您可以从中访问tab.selected。请选择一个答案作为正确答案,如果它们都不是您想要的,请告诉我们为什么…我没有时间提供完整的解决方案,但作为初学者,allBindingsAccessor将返回当前绑定上下文中的所有绑定,其中一个是tab。因此,语法应该是var tab=allBindingsAccessor.tab-您可以从中访问tab.selected。请选择一个答案作为正确答案,如果没有一个答案是您想要的,请告诉我们原因。。。