我无法让ItemView渲染我在testMap中定义的值。我想要的只是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
变量对话。我怎么能嫁给这两个对象?
@layout.body.show @listView = new TestListView collection: @test