Backbone view undefined 不是函数冲突

Backbone view undefined is not a function conflict

我有这两个观点:

显示视图

define(['backbone', 'hbs!tmpl/show_tmpl', 'item/hide'],
    function (Backbone, Hide) {
        return Backbone.Marionette.ItemView.extend({
            initialize: function () {
                console.log('initialize a UserLogin ItemView');

                console.log(Hide); // this comes in as undefined
            }, ...

隐藏视图

define(['backbone', 'hbs!tmpl/hide_tmpl', 'item/hide', 'item/show'],
    function (Backbone, Hide, Show) {
        return Backbone.Marionette.ItemView.extend({
            initialize: function () {
                console.log('initialize a UserLogin ItemView');

                console.log(Hide);
                console.log(Show);
            }, ...

问题是 Show View 中的 console.log(Hide); 作为 undefined

出现

如果我从 Hide View 中删除 'item/hide',那么它工作正常。

这个想法是我需要能够做到:

var hide = new Hide();
hide.methodOnShow();

Show View

var show = new Show();
show.methodOnHide();

Hide View

插件:如果这有帮助,这 2 个视图都会打开一个模态,所以我从显示模态中单击并打开隐藏模态,反之亦然。

如果我在打开每个模式之前刷新页面,它们可以正常工作,但不能从打开的模式内部打开它们。

关于如何解决这个问题有什么想法吗?

没有return的依赖应该在末尾添加(在其他参数之后)

define(['backbone',  'item/hide','hbs!tmpl/show_tmpl'],
    function (Backbone, Hide) {
        return Backbone.Marionette.ItemView.extend({
            initialize: function () {
                console.log('initialize a UserLogin ItemView');

                console.log(Hide); // this comes in as undefined
            }, ...
initialize: function () {
    require(['application', 'item/hide'], function (App, Hide) {
        ...
    });
}, ...