現在我正在寫一個簡單的應用程序,它獲得來自Flickr的五張照片,並顯示標題爲列表。起初,我試圖@current_photos
這工作不錯,但是當我使用Knockout.js(@currentPhotos
),這是行不通的。與Knockout.js簡單的Flickr應用程序不工作(JSBin準備)
root = exports ? this
class root.Flickr
constructor: ->
@photos = []
$.getJSON(
'http://www.flickr.com/services/rest/?jsoncallback=?'
format : 'json'
method : 'flickr.photos.search'
api_key : '7965a8bc5a2a88908e8321f3f56c80ea'
user_id : '[email protected]'
per_page : 5
).done((data) =>
$.each data.photos.photo, (i, item) =>
@photos.push item
)
root = exports ? this
class root.PhotoListViewModel
index = null
currentPhotos = []
constructor: ->
flickr = new Flickr
# @current_photos = flickr.photos ###### WORKS GOOD
flickr.photos = ko.observableArray []
@currentPhotos = ko.computed ->
flickr.photos
HTML是如下:
<body>
<h4>Photo List</h4>
<ul data-bind="foreach: currentPhotos">
<li>
title: <span data-bind="text: title"> </span>
</li>
</ul>
</body>
我創建如下JSBin頁: http://jsbin.com/avazak/7/
謝謝你的好意。
你真的要傳遞一個函數來ko.computed? – Ven 2013-03-16 02:06:35