Javascript Ember js获取每个循环中单击元素的数组索引,并使用它进行过滤

Javascript Ember js获取每个循环中单击元素的数组索引,并使用它进行过滤,javascript,ember.js,Javascript,Ember.js,我正在努力实现以下目标: 我的控制器返回一个属于某个类别的帖子数组。我在页面的左侧显示这些帖子的标题 在页面的右侧,我想显示一个区域,其中只显示一篇文章的全文。这将是最初的第一篇文章,但在单击不同的文章标题时会发生变化 目前,我正在使用模板中的两个帮助器来实现这一目标: 模板/帖子.hbs {{{#每个类别都以| post |}命名} {{post.title} {{/每个}} {{{#每个currentPostFullText作为| post}} {{post.全文} {{/每个}} 您可

我正在努力实现以下目标:

  • 我的控制器返回一个属于某个类别的帖子数组。我在页面的左侧显示这些帖子的标题
  • 在页面的右侧,我想显示一个区域,其中只显示一篇文章的全文。这将是最初的第一篇文章,但在单击不同的文章标题时会发生变化
  • 目前,我正在使用模板中的两个帮助器来实现这一目标:

    模板/帖子.hbs

    
    {{{#每个类别都以| post |}命名}
    {{post.title}
    {{/每个}}
    {{{#每个currentPostFullText作为| post}}
    {{post.全文}
    {{/每个}}
    
    您可以通过以下方式访问
    {{{each}}
    循环中的index属性:

    <div class='left-section'>
      {{#each categoryOnePosts as |post index|}}
        <a {{action 'updateFullText' index}}>{{post.title}}</a>
      {{/each}}
    </div>
    
    
    {{{#每个分类都以|后索引}的形式进行记录}
    {{post.title}
    {{/每个}}
    

    然后,您可以将该
    index
    值传递给您的操作,并从中执行任何需要的操作。

    您可以通过以下方式访问
    {{each}}
    循环中的index属性:

    <div class='left-section'>
      {{#each categoryOnePosts as |post index|}}
        <a {{action 'updateFullText' index}}>{{post.title}}</a>
      {{/each}}
    </div>
    
    
    {{{#每个分类都以|后索引}的形式进行记录}
    {{post.title}
    {{/每个}}
    

    然后,您可以将该
    index
    值传递给您的操作,并从中执行任何需要的操作。

    您可以通过以下方式访问
    {{each}}
    循环中的index属性:

    <div class='left-section'>
      {{#each categoryOnePosts as |post index|}}
        <a {{action 'updateFullText' index}}>{{post.title}}</a>
      {{/each}}
    </div>
    
    
    {{{#每个分类都以|后索引}的形式进行记录}
    {{post.title}
    {{/每个}}
    

    然后,您可以将该
    index
    值传递给您的操作,并从中执行任何需要的操作。

    您可以通过以下方式访问
    {{each}}
    循环中的index属性:

    <div class='left-section'>
      {{#each categoryOnePosts as |post index|}}
        <a {{action 'updateFullText' index}}>{{post.title}}</a>
      {{/each}}
    </div>
    
    
    {{{#每个分类都以|后索引}的形式进行记录}
    {{post.title}
    {{/每个}}
    

    然后,您可以将该
    索引
    值传递给您的操作,并从中执行您需要的任何操作。

    我从您的目标中了解的内容-左侧分类项目,右侧-最初第一个分类项目。但是,若用户选择要查看的帖子,则它将更改为“选择”

    |帖子1分类1 |--内容---|分类列表第一项或帖子选择|

    |发布2类1 | 这里的帖子是按某个类别过滤的。例如category=1

    selectedCategory: 1,
    
    categorisedPosts: function() {
        return this.get('posts').filterBy("category", this.get('selectedCategory'));
    }.property("posts.@each", "selectedCategory"),
    
    这将是最初的第一个帖子


    
    {{{#每个职位都被归类为|职位}
    {{/每个}}
    {{activeListItem.full_text}
    
    我从您的目标中了解到的内容-左侧分类项目,右侧-最初第一个分类项目。但是,若用户选择要查看的帖子,则它将更改为“选择”

    |帖子1分类1 |--内容---|分类列表第一项或帖子选择|

    |发布2类1 | 这里的帖子是按某个类别过滤的。例如category=1

    selectedCategory: 1,
    
    categorisedPosts: function() {
        return this.get('posts').filterBy("category", this.get('selectedCategory'));
    }.property("posts.@each", "selectedCategory"),
    
    这将是最初的第一个帖子


    
    {{{#每个职位都被归类为|职位}
    {{/每个}}
    {{activeListItem.full_text}
    
    我从您的目标中了解到的内容-左侧分类项目,右侧-最初第一个分类项目。但是,若用户选择要查看的帖子,则它将更改为“选择”

    |帖子1分类1 |--内容---|分类列表第一项或帖子选择|

    |发布2类1 | 这里的帖子是按某个类别过滤的。例如category=1

    selectedCategory: 1,
    
    categorisedPosts: function() {
        return this.get('posts').filterBy("category", this.get('selectedCategory'));
    }.property("posts.@each", "selectedCategory"),
    
    这将是最初的第一个帖子


    
    {{{#每个职位都被归类为|职位}
    {{/每个}}
    {{activeListItem.full_text}
    
    我从您的目标中了解到的内容-左侧分类项目,右侧-最初第一个分类项目。但是,若用户选择要查看的帖子,则它将更改为“选择”

    |帖子1分类1 |--内容---|分类列表第一项或帖子选择|

    |发布2类1 | 这里的帖子是按某个类别过滤的。例如category=1

    selectedCategory: 1,
    
    categorisedPosts: function() {
        return this.get('posts').filterBy("category", this.get('selectedCategory'));
    }.property("posts.@each", "selectedCategory"),
    
    这将是最初的第一个帖子


    
    {{{#每个职位都被归类为|职位}
    {{/每个}}
    {{activeListItem.full_text}
    
    我有点困惑。引用“在页面右侧,我想显示一个区域,其中只显示一篇文章的全文”。然而,您在右侧部分使用{{{{each}}helper,我怀疑这远不是最有效的方法-想法是右侧的{{each}}helper将只有一个项可循环,因为数组将被过滤以仅匹配一个对象。似乎有更好的方法,添加了一个答案,让我有点困惑。引用“在页面右侧,我想显示一个区域,其中只显示一篇文章的全文”。然而,您在右侧部分使用{{{{each}}helper,我怀疑这远不是最有效的方法-想法是右侧的{{each}}helper将只有一个项可循环,因为数组将被过滤以仅匹配一个对象。似乎有更好的方法,添加了一个答案,让我有点困惑。引用“在页面右侧,我想显示一个区域,其中只显示一篇文章的全文”。然而,您在右侧部分使用{{{each}}helper,我怀疑这远不是最有效的方法-想法是右侧的{{each}helper将只有一个项可以循环,因为数组将被过滤以只匹配一个对象。似乎有更好的方法,添加了一个答案来消除这一点