Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.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 每个模型都没有在模板中列出模型_Javascript_Ember.js_Ember Data_Ember Cli_Jsbin - Fatal编程技术网

Javascript 每个模型都没有在模板中列出模型

Javascript 每个模型都没有在模板中列出模型,javascript,ember.js,ember-data,ember-cli,jsbin,Javascript,Ember.js,Ember Data,Ember Cli,Jsbin,我正在使用Ember.RSVP.hash在同一路径中创建不同的模型,我成功地在存储中创建了模型记录,我可以在控制台中看到数据。 问题是我只能在模板中列出这两个模型中的一个。(repos名称,但不是提交消息) 这是密码 路线 模板 <ul> {{#each model.repos}} <li>{{name}}</li> {{/each}} </ul> <ul> {{#

我正在使用Ember.RSVP.hash在同一路径中创建不同的模型,我成功地在存储中创建了模型记录,我可以在控制台中看到数据。

问题是我只能在模板中列出这两个模型中的一个。(repos名称,但不是提交消息)

这是密码

路线

模板

   <ul>
    {{#each model.repos}}        
      <li>{{name}}</li>
    {{/each}}
   </ul>
   <ul>
    {{#each model.commits}}  
       <li>{{message}}</li>
    {{/each}}
   </ul>
    {{{#每个模型.repos}
  • {{name}}
  • {{/每个}}
    {{{each model.commits}
  • {{message}}
  • {{/每个}}
所以问题一定在这里

{{#each model.commits}}  
   <li>{{message}}</li>
{{/each}}
{{{#each model.commits}
  • {{message}}
  • {{/每个}}

    我做错了什么?正在复制问题。

    好的,所以问题出在您的
    gitactivitesPromise
    函数中。我已经修改了您的方法以使用
    Ember.RSVP.hash

    var gitactivitiesPromise = function() {
      return new Ember.RSVP.Promise(function (resolve) {
        Ember.$.ajax(eventsAct, {
          success: function(events) {
            var result = [];
            events.filter(function(event) {
              return event.type == 'PushEvent';
            }).forEach(function(item){
              item.payload.commits.map(function(commit){
                result.push(store.createRecord('commit', {
                  message: commit.message,
                }));
              });
            });
            resolve(result);
          },  
          error: function(reason) {
            reject(reason);
          }
        });
      });
    };
    
    这允许您在模板中以这种方式访问
    消息

    Commits:
    <ul>
      {{#each model.commits}}
        <li>{{this.message}}</li>
      {{/each}}
    </ul>
    
    提交:
    
      {{{each model.commits}
    • {{this.message}}
    • {{/每个}}
    结果:


    我不确定问题出在哪里,但我已经意识到在
    jsbin
    中有30个点用于提交,而您的模型只有26条记录(如Ember inspector中所示)。可能
    Ember.RSVP.hash
    没有按预期工作。这可能是与您正在使用的
    Ember
    版本相关的错误吗?我尝试只返回提交,而不返回
    RSVP
    ,它也会返回提交,因此问题在于您的函数
    gitactivitiesPromise
    。因为我可以看到模型数据(附件中的控制台图像)我认为gitactivitiesPromise并不是你的记录被正确创建的问题,而是你返回的是整个事件列表,所以不,它是不正确的。将
    {{log}
    帮助程序与提交一起使用,并亲自查看。
    Commits:
    <ul>
      {{#each model.commits}}
        <li>{{this.message}}</li>
      {{/each}}
    </ul>