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

how do i get data from init.js in messageVIew?

我必须在 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;

我什么都试过了,我能搞定。

谢谢

现在,users_urlConfig(或 init)函数中的一个变量。由于 JavaScript 具有函数范围,因此无法从该函数外部访问在函数内部创建的变量。

您可以使 users_url 成为 Config 函数的 属性,就像您对 defaultContainer 所做的那样。然后在 messageView.js 中,你会做 init.users_url.

您可以将 Config 函数设为 return users_url,或将其作为 属性:

的对象
function Config () {
    // ...
    return {
        users_url: users_user
    };
}

然后,在 messageView.js 中,您将执行如下操作:

init().users_url
// or
var obj = init();
obj.users_url