我应该在哪里放置与视图相关的常量 - backbone.js

idb*_*ley 14 constants conventions view backbone.js

想象一下,我有一个视图,作为视图的一部分,它渲染'x'模型对象,仅渲染'x'.问题是,我认为这个视图相关的常量是否合适?

我的猜测是做这样的事情:

myApp.MyView = Backbone.View.extend({
    ...
    myConstant: 10,
    ...
    render: function(){
        ...
        //some code that uses myConstant
        ...
    }
});
Run Code Online (Sandbox Code Playgroud)

这有意义吗?

有任何建议帮助!

Bil*_*uer 11

听起来你想要做的是为视图分配一个类属性.您可以将第二个哈希值传递给您的extend调用以执行此操作.您的代码看起来像这样:

myApp.MyView = Backbone.View.extend({

    render: function() {
        alert(myApp.MyView.myConstant);
    }

}, {

    myConstant: 10

});
Run Code Online (Sandbox Code Playgroud)

您的常量可以作为myApp.MyView.myConstant访问.


str*_*ley 5

你非常接近!你实际上只是使用this.myConstant.这是一个有效的例子......

testView = Backbone.View.extend({
    test: "hello world!",

    initialize: function(){
        alert( this.test );
        _.bindAll(this, "render");
    },

    render: function(){
        //do your rendering...
        return this;
    }
});
var view = new testView();
Run Code Online (Sandbox Code Playgroud)