0

我按照这个没有 Ember 数据的例子Ember

并测试以获取我的 Teambox 任务,(为了使这项工作您需要一个 teambox 帐户并登录,因为在此示例中我没有添加身份验证);

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

4

1 回答 1

0

我没有从你的 url 得到结果,但是你的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;
  }

});

我希望它有帮助

于 2013-09-26T12:54:38.900 回答