1

testMapで定義された値をItemViewでレンダリングできません。私が欲しいのは、1、2、3を<ol class='test-list'>タグに動的に挿入し<li>て、HTMLが次のようになるようにすることだけです。

<ol class="test-list">
   <li>1</li>
   <li>2</li>
   <li>3</li>
</ol>

私は何が欠けていますか?

testMap = 
  a: '1'
  b: '2'
  c: '3'

class TestLayout extends Layout
  template: require '/test_template'
  regions:
    body: 'section'
  events:
    'click #testme': 'test'
  test: -> app.vent.trigger 'test'

class TestItemView extends ItemView
  template: require '/test-item'
  serializeData: -> {testMap}

class TestListView extends CollectionView
  tagName: 'ol'
  className: 'test-list'
  itemView: TestItemView

module.exports = class TestPlugin extends Application
  testList: null
  initialize: =>
    @test = new Collection
    app.vent.on 'test', @showTest, @
  showTest: ->
    app.layout.test.show @layout = new TestLayout
    @layout.body.show @testList= new TestListView collection: @test

test-itemという名前の私のHTMLファイルは次のようになります。

<span class='test'>
  <%= @testMap %>
</span>

私のグローバルはすべて拡張ファイルで定義されています。

ここでの原因は、コレクションをitemViewにバインドできないことだと思います。したがって、@showTest関数を呼び出すと、testMapオブジェクトが@test変数と通信していないため、何も得られません。どうすれば2つのオブジェクトを結婚できますか?

@layout.body.show @listView = new TestListView collection: @test
4

0 に答える 0