【发布时间】:2015-07-14 12:12:16
【问题描述】:
我正在尝试将自定义 knockoutjs 绑定与标准绑定相结合。虽然我已经能够找到相关的solution
ko.bindingHandlers.parentAreaComboBox = {
initialised: false,
init: function (element, valueAccessor, allBindingsAccessor, viewModel, context) {
viewModel.parentAreas.subscribe(function (newParentAreas) {
if (newParentAreas && newParentAreas.length > 0) {
if (ko.bindingHandlers.parentAreaComboBox.initialised) {
return;
}
ko.applyBindingsToNode(element, {
options: viewModel.parentAreas,
optionsCaption: 'Choose...',
optionsText: 'Label',
value: viewModel.selectedParentArea
});
$(element).chosen({});
ko.bindingHandlers.parentAreaComboBox.initialised = true;
}
});
}
};
但我无法使其在 mine 上运行。我在这里做错了什么?
【问题讨论】:
-
首先,我收到一个投诉,即引导程序需要 jquery,这意味着您的外部资源以错误的顺序加载。您也不要为组合框规范关闭大括号。
-
感谢指点,已更正that 仍然无法正常工作
-
不相关,但如果您使用的是 Knockout 3+,您可能希望在您的
init函数中使用context.$data而不是viewModel,因为 Knockout 文档指出viewModel参数是 @ 987654324@
标签: jquery knockout.js custom-binding