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

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

本文关键字:js 获取 数据 init 中从 messageVIew      更新时间:2023-09-26

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

这是我的消息View.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函数返回users_url,或者将其作为属性的对象:

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

然后,在messageView.js中,您可以执行以下操作:

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