我可以使用带有require.js的角度选择吗?

时间:2015-06-08 18:45:41

标签: jquery angularjs angularjs-directive requirejs selectize.js

angular-selectize.js需要selectize.js和angular.js才能运行。当我通过require加载那些时,没有window.Selectize属性被暴露,这是angular-selectize.js所需要的。

这是selectize.js的片段

b

和角度选择的片段

if (typeof define === 'function' && define.amd) {
        define('selectize', ['jquery','sifter','microplugin'], factory);
    } else if (typeof exports === 'object') {
        module.exports = factory(require('jquery'), require('sifter'), require('microplugin'));
    } else {
        root.Selectize = factory(root.jQuery, root.Sifter, root.MicroPlugin);
    }

需要暴露Selectize属性,因为它不可用,因为选择进入

 link: function(scope, element, attrs, modelCtrl) {

  Selectize.defaults.maxItems = null; //default to tag editor

  var selectize,
      config = angular.extend({}, Selectize.defaults, selectizeConfig, scope.config);
    ........


}

,未创建全局并且错误输出

那么,使用角度选择的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,并通过将Selectize添加到window来修复。

(function (define) {
    'use strict';
    var dependencies = [
        'selectize',
        'angular',
        'ngMessages',
        'ngSelectize',
        'ngLoad'
    ];
    define(dependencies, function (Selectize) {

      window.Selectize = Selectize; 
      ...