現在、Flickr から 5 枚の写真を取得し、タイトルをリストとして表示する簡単なアプリケーションを作成しています。最初は@current_photos
これでうまくいくのですが、Knockout.js( @currentPhotos
) を使うとうまくいきません。
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 : '29242822@N00'
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/
ご親切にありがとうございます。