0

Emberデータなしでこの例のEmberに従っています

そして、私のチームボックスタスクを取得するためにテストしました(これを機能させるには、チームボックスアカウントが必要であり、ログインする必要があります。この例では、認証を追加しませんでした);

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 に答える