0

私のjsonデータでは、値を取得projectNameしてassignedToいます(すべてのデータで発生します)、

データ例:

  [ {projectName:'project1',assignedTo:'some1'},{projectName:'project2',assignedTo:'some2'}]

私のテンプレートは:(私の混乱したものを含む)

<script id="listTemplate" type="text/template">
    <a href="#"><%= projectName === projectName ? projectName : taskStatus%></a>//not works how can i mange?
</script>

私の見解では、モデル"toJSON()"を変換していますが、使用している2つのリンクでプロジェクト名だけを取得しています。

私のリクエスト、1つのテンプレートを使用して2つの異なる値を印刷することは可能ですか?-初めてプロジェクト名を印刷する必要がありますが、後で何らかの条件でtaskStatusを印刷する必要があります。その場合は、何か提案をお願いします。

4

1 に答える 1

1

プロジェクト名を常に印刷している理由は、テンプレートに...

<a href="#"><%= projectName === projectName ? projectName : taskStatus%></a>

projectName常にに等しくなりprojectNameます。この場合に実行したいのは、Backbone.Viewで、テンプレートによって使用されるモデルをシリアル化するときに、これを実行できることです...

Backbone.View.extend({
    events: {
        // An example on how to change the display
        'click button.change-display': 'onChangeDisplayClicked'   
    },
    template: _.template(...),

    // Controls whether project name should be shown or not.
    showProjectName: true,

    onChangeDisplayClicked: function() {
        // Flip the switch
        this.showProjectName = !this.showProjectName;

        // Re-render the View
        this.render();
    },

    serialize: function() {
        // Grab the data from model
        var data = this.model.toJSON();

        // Pass this data to the template to control what to be displayed.
        data.showProjectName = this.showProjectName;
        return data;
    },

    render: function() {
        this.$el.html(this.template(this.serialize()));
    }
});

...そしてあなたのテンプレートでは、あなたは...

<script id="listTemplate" type="text/template">
    <a href="#"><%= showProjectName ? projectName : taskStatu s%></a>
</script>
于 2013-02-06T17:06:43.297 に答える