我如何从messageVIew中的init.js获取数据?

时间:2015-07-02 18:45:55

标签: javascript node.js backbone.js

我必须在messageView中获取users_url。你能救我吗?

init.js

(function(global) {
    "use strict;"

    // Class ------------------------------------------------
    function Config() {

        var users_url = "some_url";

    };

    Config.defaultContainer = "body";

    // Exports ----------------------------------------------
    module["exports"] = Config;

})((this || 0).self || global);

这是我的messageView.js,我想从init.js获取users_url。

var init = require('../../../init.js');

var MessagingView = Backbone.View.extend({

    el : null,

    initialize: function(options) {
        this.el = options.el;
        this.render();
    },

    render: function() {
        $(this.el).html(template());
        this.onLoad();  
        return this;

    },
    onLoad: function(){         
        consle.log("Here i want my users_url");
        });
    } 
});

module.exports = MessagingView;

我已经尝试了一切,我可以得到它。

由于

1 个答案:

答案 0 :(得分:0)

目前,users_urlConfig(或init)函数中的变量。由于JavaScript具有函数作用域,因此无法从函数外部到达函数内部创建的变量。

您可以使users_url属性Config成为defaultContainer功能的属性,就像您使用messageView.js一样。然后在init.users_url中,您会Config

您可以使users_url函数返回function Config () { // ... return { users_url: users_user }; } ,或将其作为属性的对象:

messageView.js

然后,在init().users_url // or var obj = init(); obj.users_url 中,您可以执行以下操作:

{{1}}