3

バックボーン アプリケーションに取り組んでいます。モデルでカスタム プロパティを作成し、テンプレートで使用する方法を知りたいと思いました。これが私が持っているものです。

モデル

CustomerDetails = Backbone.Model.extend({
    defaults: {
            id: undefined,
            isOnline: undefined,
            profileUrl: undefined,
            userType: undefined
    },  

    // I want to set this new property

    newProperty: function() {
               return this.get("id") + this.get("profileUrl");
    }

});

アクセスしようとしているテンプレート

<script type="text/template" id="customer-details-template">
<div class="message customer-details">
    <%=id%>
    <%=newProperty%>
</div>
</script>

id プロパティは取得できますが、newProperty は取得できません。誰かがこれで私を助けることができますか?ありがとう!

4

2 に答える 2

2

これを行う最も簡単な方法は、オーバーライドすることかもしれません。これがtoJSONテンプレートに渡されることを覚えておいてください。基本クラスを呼び出すだけで、必要な追加のプロパティを追加できます。

CustomerDetails = Backbone.Model.extend({
    toJSON: function() {
        var obj = this.attributes;
        obj.newProperty = this.newProperty();
        return obj;
    },
});

フィドル

于 2013-09-18T22:53:01.153 に答える