Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ember.js-仅转换模板显示以使用视图_Javascript_Ember.js_Coffeescript_Handlebars.js_Jquery Masonry - Fatal编程技术网

Javascript Ember.js-仅转换模板显示以使用视图

Javascript Ember.js-仅转换模板显示以使用视图,javascript,ember.js,coffeescript,handlebars.js,jquery-masonry,Javascript,Ember.js,Coffeescript,Handlebars.js,Jquery Masonry,我只是从Ember.js开始。我有余烬数据与我的Rails后端对话,目前正在使用基本的把手模板显示数据。数据正在按其应有的方式呈现。coffescript中的当前代码如下所示: 型号: App.Post = DS.Model.extend title: DS.attr('string') text: DS.attr('string') imageUrl: DS.attr('string') 路由: App.Router.map-> @路由“posts”,路径:'/' App.Pos

我只是从Ember.js开始。我有余烬数据与我的Rails后端对话,目前正在使用基本的把手模板显示数据。数据正在按其应有的方式呈现。coffescript中的当前代码如下所示:

型号:

App.Post = DS.Model.extend
  title: DS.attr('string')
  text: DS.attr('string')
  imageUrl: DS.attr('string')
路由: App.Router.map-> @路由“posts”,路径:'/'

App.PostsRoute = Ember.Route.extend
  model: -> App.Post.find()
立柱、把手:

<div id="masonry-container" class="transitions-enabed infinite-scroll clearfix centered">
  {{#each controller}}
    <div class="col2 box">
     <h3>{{title}}
     <img {{bindAttr src="imageUrl"}} >
     <p class="text">
      {{text}}
     </p>
   </div>
 {{/each}}
</div>
<div id="masonry-container" class="transitions-enabed infinite-scroll clearfix centered">
  {{#each controller.content}}
    <div class="col2 box">
     <h3>{{title}}
     <img {{bindAttr src="imageUrl"}} >
     <p class="text">
      {{text}}
     </p>
   </div>
 {{/each}}
</div>
该模板将在整个应用程序中的多个位置使用。它还使用了砖石结构,在呈现内容后需要对其进行初始化,最后我需要实现infinte滚动,尽管这有点超前了

现在,我想采取上述措施,并为其创建一个视图。到目前为止,我已经尝试了以下方法

路由:

App.Router.map ->
  @route 'posts', path: '/'

App.PostsRoute = Ember.Route.extend
  setupController: ->
    @controllerFor('posts').set('content'. App.Content.find())
控制器:

App.PostsController = Ember.ArrayController.extend()
视图:

模板:

app_把手布局图

{{outlet}}
...layout mark up...
 <div id="container">
   {{yield}}
 </div>
...more layout mark up...
{{view App.PostsView}}

使用此代码,布局呈现,但所有帖子都不呈现。控制器的内容属性似乎没有设置,但我不确定是否遗漏了其他内容。任何帮助都将不胜感激。

我解决了这个问题。问题在于调用
{{view App.PostsView}
。将我的application.handlebar更改回使用
{{outlet}
解决了问题。似乎尝试显式渲染视图会导致问题,而且通过使用正确的命名约定定义视图,Ember将自动拾取该视图。事后看来,考虑到余烬的方式,这是很有意义的。

我发现了这一点。问题在于调用
{{view App.PostsView}
。将我的application.handlebar更改回使用
{{outlet}
解决了问题。似乎尝试显式渲染视图会导致问题,而且通过使用正确的命名约定定义视图,Ember将自动拾取该视图。事后看来,考虑到余烬的方式,这是很有意义的

{{view App.PostsView}}