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