0

ハンドルバー テンプレートの「each」ループに問題があります。

次のように、handlebars テンプレートに 1 つのオブジェクトを渡します。

var data = {
   blog = blogModel, // Backbone Model
   user = userModel  // Backbone Model
}

this.el.html(template(data.toJSON()))

これは私のモデル構造です:

ブログモデル

  title: "myblog", 
  posts: [{
        text: "first post",
        datetime: "12/10/2010
      },
      {
        text: "second post",
        datetime: "10/10/2010
      }
        ...
  ]

ユーザーモデル

  name: "John",
  email: "john@gmail.com"

ハンドルバー テンプレート

{{#each blog.posts}}
   <div>{{title}}</div>
    ...
   <span>{{user.email}}</span>
{{/each}}

私の問題は、{{#each blog.posts}} のコンテキストにあるため、{{user.email}} を出力できないことです。ブログのプロパティしか出力できないようです。

{{user.email}} をループから外すと、機能します

4

1 に答える 1

4

../次のようなものを使用して、スコープのレベルを 1 つ上げることができます。

{{#each blog.posts}}
    ...
   <span>{{../user.email}}</span>
{{/each}}
于 2013-09-26T21:45:51.020 に答える