簡體   English   中英

灰燼中的助手正在收到“未定義”

[英]helper in ember is receiving “undefined”

我在ember中有一個組件,其中包含兩個單獨的列。 我正在使用一個幫助器來獲取數組並將該數組拆分為兩個,在第一列顯示偶數,在左側顯示幾率。 在控制台中,它表明助手正在接收未定義的對象。

index.hbs:

<div class="row" style="padding:0% 3%">
    {{component numbers=model}}
</div>

index.js:

import Ember from 'ember';
import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';
export default Ember.Route.extend(AuthenticatedRouteMixin, {
    model() {
        return this.store.findAll('number');
    }
});

component.hbs(具有兩列的組件):

<div class="row">
<div class="small-6 columns">
{{#each (twoColumns numbers 1) as |number|}}
    <h3><b>{{number.value}}</b></h3>
    <h6>{{number.title}}</h6>
{{/each}}
</div>
{{#each (twoColumns numbers 2) as |number|}}
    <h3><b>{{number.value}}</b></h3>
    <h6>{{number.title}}</h6>
{{/each}}
</div>
</div>

twoColumns.js(幫助程序):

import Ember from 'ember';

export function twoColumns(params) {
  let arrayToSplit = params[0];
  let column = params[1];
  Ember.Logger.info(arrayToSplit); //this prints an empty array
  var i;
  var col1 = [];
  var col2 = [];
  for(i=0; i<arrayToSplit.length; i+=1) {
      if(i%2==0) {
          col1.push(byTheNumbers[i]);
      } else {
          col2.push(byTheNumbers[i]);
      }
  }
  if (column == 1) {
    return col1;
  } else {
    return col2;
  }
}

export default Ember.Helper.helper(twoColumns);

另外,如果我執行以下操作,則數組中的所有元素都可以正常顯示:

<div class="row">
<div class="small-12 columns">
{{#each numbers as |number|}}
    <h3><b>{{number.value}}</b></h3>
    <h6>{{number.title}}</h6>
{{/each}}
</div>

是的,我已經通過使用component來做到這一點,在component中,您可以編寫這些計算出的屬性並在component.hbs中使用。

evenItems: Ember.computed('numbers.[]',  function() {
     return this.get('numbers').filter(function(num){ return num.value % 2 === 0 })
 }),

 oddItems: Ember.computed('numbers.[]',  function(number) {
     return this.get('numbers').filter(function(num){ return num.value % 2 !== 0 ;})
 })

您可以在這里查看https://ember-twiddle.com/fc3e3e85c1a25fea6865d36822c45864?openFiles=components.even-odd.js%2Ctemplates.components.even-odd.hbs

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM