2012-11-27 36 views
0

在javascript數組的數組更新是我的代碼:淘汰賽:這裏離的getJSON

var Feed = function (searchTerm, feeditems) 
    { 
     this.ID = 1; 
     this.SearchTerm = searchTerm; 
     this.FeedItems = ko.observableArray(feeditems); 
    }; 

    var FeedItem = function(userName, message) 
    { 
     this.UserName = userName; 
     this.Message = message; 
    }; 

    var viewModel = { 
     Feeds: ko.observableArray() 
    }; 

    ko.applyBindings(viewModel); 



    function getFeedData() 
    { 
     var url = "/Feed/GetFeedData"; 
     $.getJSON(url, function (data) 
     { 
      $.each(data, function() 
      { 
       viewModel.Feeds[0].FeedItems.unshift(new FeedItem(this.UserName, this.Message)); 
      }); 
     }); 

     window.setInterval("getFeedData()", TIMEDELAY); 
    } 

我無法弄清楚如何更新飼料的第一個數組元素的FeedItems。 基本上:viewModel.Feeds [0] .FeedItems.unshift不工作... :(

當我只是檢查viewModel.Feeds,它給了我所有的方法,但與viewModel.Feeds [0]它說它是不確定的。

那麼,如何更新觀察到數組的第一個元素的數組觀察到的?

感謝!

回答

1

要與viewModel.Feeds開始是一個空數組。所以飼料[0 ]將不確定,請確保初始化它 如果你不能,那麼考慮創建一個新對象並推動我如果數組長度爲0,則返回數組。