相关疑难解决方法(0)

带有Eco模板的Backbone.js:如何在模板中包含模板?

是否可以在模板中包含模板?也许类似于ERB处理部分的方式?

而不是尝试以ERB之类的方式呈现嵌套模型,最好让Backbone.js处理这个问题.

注意,我使用的是coffeescript语法:

Projects.IndexView

template: JST["backbone/templates/projects/index"]

addAll: () ->
    @options.projects.each(@addOne)

addOne: (project) ->
    view = new Worktimer.Views.Projects.ProjectView({model : project})
    @$("#projects-table").append(view.render().el)

render: ->
    $(@el).html(@template(projects: @options.projects.toJSON() ))
    @addAll()
Run Code Online (Sandbox Code Playgroud)

模型Project有一个名为sessions的嵌套集合:

Projects.ProjectView

template: JST["backbone/templates/projects/project"]

$(@el).html(@template(@model.toJSON() ))     
for s in @model.sessions.models
    v = new Worktimer.Views.ProjectSessions.ShowView(model: s)
    $(@el).find('.sessions').append(v.render().el)
Run Code Online (Sandbox Code Playgroud)

ProjectSessions.ShowView

template: JST["backbone/templates/project_sessions/show"]

render: ->
    $(this.el).html(@template(@model.toJSON() ))
Run Code Online (Sandbox Code Playgroud)

所以,最后我们有这样的嵌套模板:

  • 项目索引
    • 项目
      • 会议
      • 会议
      • 会议
      • 会议
    • 项目
      • 会议
    • 项目
      • 会议
      • 会议

templates ruby-on-rails coffeescript backbone.js

5
推荐指数
2
解决办法
5266
查看次数

如何将原始html字符串属性嵌入到.hamlc模板中?

目前我有带有rails后端的骨干RIA.我正在使用haml_coffee_assets gem进行客户端模板化.但我想念那里的铁路视图助手.

我决定将原始html字符串添加到我的骨干模型中.所以,我的coffeescript中有这种对象

Object
  avatar: "/avatars/small/missing.png"
  avatar_link: "<a href="/users/ortepko" class="author" id="user-nick-76"><img src="/avatars/small/missing.png" width="32" /></a>"
  humanized_messages_number: "1 Message "
  id: 76
  login_name_link: "<a href="/users/ortepko" class="author" id="user-nick-76">ortepko</a>"
Run Code Online (Sandbox Code Playgroud)

我的模板代码变得非常简单

.text_content
  .comment
    = @contact.avatar_link
    .text
      = @contact.login_name_link
      .messages
        %a{href: '#'}
          = @contact.humanized_messages_number
Run Code Online (Sandbox Code Playgroud)

现在我想渲染一个模板

JST['messages/yet_another_template'] {contact: contact}
Run Code Online (Sandbox Code Playgroud)

但它似乎没有奏效.

backbone.js ruby-on-rails-3 client-side-templating hamlc

2
推荐指数
1
解决办法
1286
查看次数