javascript - 如何将参数传递给 Backbone.js View ?

标签 javascript backbone.js backbone-views

我正在尝试将参数传递到 Backbone.js View 中,但我在执行此操作时遇到了问题。

我有一个主干 View 如下:

var DataTypesView = Backbone.View.extend({
    events:{
        'click .datatype': 'add'
    },
    initialize: function(){
        console.log(this.magic);
        this.render();
    },
    render: function(){
        console.log('printing template');
        console.log(this.templateString);

                    etc.
}});

稍后,我将 View 创建如下:

        dataTypesView = new DataTypesView({magic:true,el:$('#dataViewSpace'),templateString:'#template'});

这是行不通的。我不明白的是为什么 el 工作得很好(我可以使用带有 this.$el. 的 jquery 来访问它),但是 this.magic this.templateString 都是未定义的...

有什么方法可以按照我在上面尝试的方式将参数传递到 View 中吗?

相关说明 - 有什么方法可以传递渲染函数吗?我最初尝试传递一个渲染函数(并将其从主干 View 类中删除),但是当这不起作用时我尝试传递简单的数据类型......我假设需要做任何事情来传递一个我的第一个问题的参数将用于传递函数。

最佳答案

编辑 - 显然这个答案在更新版本的 Backbone 中不起作用。

我想通了! T'很简单……只需要快速检查一下 Backbone.js 文档……应该先这样做。

传入的以下参数会自动分配给 View (也就是说,您可以使用 this.variableName 访问它们):model、collection、el、id、className、tagName 和 attributes

可以使用 this.options.variableName 访问所有其他变量。

在我上面的示例中,我可以通过使用 this.options.magic 而不是 this.magic 来访问 magic

耶!

关于javascript - 如何将参数传递给 Backbone.js View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17561022/

相关文章:

javascript - Backbone 严重的缺点

javascript - 如何在主干 View 中使用窗口 onunload 事件

javascript - 将所有主干模型属性写入 html 模板

javascript - 在 backbone.js 中通过 trigger() 传递的参数之上传递参数

javascript - 如何模拟 angularjs $resource 工厂

javascript - 使用 Web API 在 CRM 中添加新记录

javascript - 使用父模型提取填充嵌套集合

javascript - 返回 Mongoose 模型函数的结果

javascript - 协助使用 JavaScript if 语句

javascript - 主干模型的转换/初始化子模型