流星和选择菜单

时间:2016-10-12 13:45:50

标签: javascript node.js meteor

Meteor表示你可以通过meteor npm i selection-menu --save安装节点模块,它们只会起作用。但是,当我尝试通过new SelectionMenu({...})使用SelectionMenu时,它会给我一个错误。

selection-menu.js:20 Uncaught TypeError: Cannot set property 'SelectionMenu' of undefined

来自库的的代码会抛出错误,如下所示:

(function (root, factory) {
    if (typeof define === 'function' && define.amd) {
        define(factory);
    } else {
        root.SelectionMenu = factory();   // this is where it fails
    }
}(this, function () {
  //something here
  
});

我认为这是关于图书馆提供的加载程序代码,可能与Meteor不相符?我能在这做什么,我很困惑。

我的代码:

    import SelectionMenu from 'selection-menu';
    new SelectionMenu({
        container: document.getElementById("#document"),
        content: '<a href="#test">test</a>',
        handler: function(e) {
            console.log("i selected something");
        }
    })

编辑 我刚刚在我的目录中创建了一个库的克隆并从那里加载它。这是有效的,但无论如何都不理想。如果您想出更多想法,请告诉我。

1 个答案:

答案 0 :(得分:0)

它告诉你Cannot set property 'SelectionMenu' of undefined。因此,您尝试使用该库时出现了问题。

如果您尚未提供相关组件/模板,则需要初始化事物。

在火焰中(尝试这个,它可能会起作用。):

import SelectionMenu from 'selection-menu';

Template.templateName.onRendered(function() {
    new SelectionMenu({
        container: document.getElementById("#document"),
        content: '<a href="#test">test</a>',
        handler: function(e) {
            console.log("i selected something");
        }
    })
});