如何使用Commonjs在视图中获取Backbone App文件变量

时间:2015-06-19 04:42:40

标签: javascript backbone.js commonjs

我有一个Backbone App,其中包含以下数据:

App = new Backbone.Marionette.Application({
url: 'http://localhost/index.php',
quotes:
    [
        {text: "simple text" name: "John Doe"},
    ]
});

$(document).ready(function() {
    App.start();
});

如果我想在我的View文件中获取引号,我可以简单地使用它:

var myView = Backbone.Marionette.ItemView.extend({
render: function() {
    console.log(App.quotes);
}

现在我想在我的Backbone应用程序中添加commonJS支持,所以我修改了这样的App文件代码:

var $ = require('jquery');
var Backbone = require('backbone');
Backbone.$ = $;

App = new Backbone.Marionette.Application({
url: 'http://localhost/index.php',
quotes:
    [
        {text: "simple text" name: "John Doe"},
    ]
});

$(document).ready(function() {
    App.start();
});

module.exports = App;

在视图文件中添加commonJS文件支持后,它变成如下:

var Backbone = require('backbone');
var App = require('app');

var myView = Backbone.Marionette.ItemView.extend({
render: function() {
    console.log(App.quotes);
}

module.exports = myView;

但问题是,我无法获得

的价值
App.quotes

App 变量的值是空对象。请让我知道我做错了什么。

1 个答案:

答案 0 :(得分:0)

问题解决了。我尝试在初始化函数之后添加require语句,并且它有效。