Emberjs没有包含数据

时间:2013-09-26 10:58:13

标签: javascript ember.js ember-data

我遵循此示例Ember without Ember data

经过测试以获得我的Teambox任务,(为了使这项工作你需要一个teambox帐户并登录,因为在这个例子中我没有添加authenticacion);

http://jsbin.com/aZIXaYo/65/edit

如果您已登录,则任务会在console.log

上正确显示
App.RedditLink = Ember.Object.extend({});

App.RedditLink.reopenClass({

  todooo: function(){
    $.ajax({
     url:"https://teambox.com/api/2/tasks",
     type: "GET",
     dataType: 'jsonp',
     success:function(json){
        var links = Em.A();
        json.forEach(function (child) {
    links.pushObject(App.RedditLink.create(child));
         //console.log(chilppld.name);
        });
        console.log(links);
        return links;
     },
     error:function(){
         alert("Error");
     }
    });
  }

});

这是控制台上显示的内容

[Class, Class, Class, Class, Class, Class, Class, Class, Class, Class, Class, Class, Class, Class, Class, Class, Class, Class, Class, Class, _super: undefined, nextObject: function, firstObject: undefined, lastObject: undefined, contains: function…]

但是在模板上没有显示数据,请检查Jsbin

1 个答案:

答案 0 :(得分:0)

我没有从您的网址获得结果,但您的todoo方法不会返回该数组。您当前的实现是从ajax成功回调返回数组。这是更新版本:

App.RedditLink.reopenClass({

  todooo: function() {    
    var links = Em.A();

    $.ajax({
     url:"https://teambox.com/api/2/tasks",
     type: "GET",
     dataType: 'jsonp',
     success:function(json){        
        json.forEach(function (child) {
          links.pushObject(App.RedditLink.create(child));         
        });                
     },
     error:function(){
         alert("Error");
     }      
    });

    return links;
  }

});

我希望它有所帮助