模型和模板主干之间的关系

时间:2015-01-07 22:56:29

标签: javascript backbone.js model coffeescript

我有一个名为market的模型类及其相应的模板,然后是另一个名为match

的模型类

这是模型市场

Component = App.Components.SportJsComponent

class Component.Models.Market

  @createFromOutcome: (outcome) ->
    new @({id: outcome.market_description, description: outcome.market_description, price: outcome.price_text})

  constructor: (options) ->
    _.extend @, options

  slotDescription: ->
    @_slotDescription ||= _.first(@id.split(' '))

  domClass: ->
    _.first(@id.split(' ')).toLowerCase()

  slotNumber: ->
    _.last(@description.split(' '))

  priceFormat: ->
    (@price)

他的模板如下

<li class="slotmarket">
  <p class="market <%= model.domClass() %>"><%= model.slotDescription() %><em><%= model.slotNumber() %></em><span class="price" data-price_formatted="<%= model.priceFormat() %>"></p>
</li>

所有数据都在模板中成功检索,然后我发现我还需要model.priceFormat()用于另一个名为match的模板,所以我创建了匹配模型类,它看起来完全相同但只有model.priceformat()

Component = App.Components.SportJsComponent

class Component.Models.Match

  @createFromOutcome: (outcome) ->
    new @({price: outcome.price_text})

  constructor: (options) ->
    _.extend @, options

  priceFormat: ->
    (@price)

由于某些原因,我无法显示model.priceFormat()并且模板未呈现

  <div class="description"><p></p></div>
  <div class="odds"><span class="bet out_come" data-price_formatted="<%= model.priceFormat() %>"><span class="price"></span></span></div>

一部分并非我真的不喜欢为模板只为一个模型值创建新模型类文件的解决方案,有一种方法或帮助器可以让我使用Market的模型进行匹配?

0 个答案:

没有答案