0

我正在关注 Steve Sanderson 在 Architecting Large SPA's in knockout js 中的示例。我想在我的模板中创建一个引导多选小部件。我已经包含"bootstrap-multiselect": "src/bower_modules/bootstrap-multiselect/dist/js/bootstrap-multiselect",require.config.js.

bootstrap-multiselect 可以识别淘汰赛 - 它已经嵌入了淘汰赛绑定处理程序:

!function($) {

"use strict";// jshint ;_;

if (typeof ko !== 'undefined' && ko.bindingHandlers && !ko.bindingHandlers.multiselect) {
    ko.bindingHandlers.multiselect = {

        init: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
       ///etc... 

如果我将整个init:update:函数复制并粘贴到我的组件 js 中,我可以让小部件呈现并适当地表现。但我不应该这样做。如何在我的 AMD 模块中包含引导多选绑定处理程序?简单地确保 bootstrap-multiselect 包含在 require 中是行不通的,因为不遵守绑定。似乎我应该能够做类似的事情

define(['knockout', 'bootstrap-multiselect', 'text!./scheduler-profile.html'], function(ko, multiselect, templateMarkup) { 


    ko.bindingHandlers.multiselect = {
        multiselect();
    }

但这不起作用。如何在具有我的视图模型的 AMD 模块中包含在不同文件中定义的绑定处理程序?

4

0 回答 0