2012-10-22 21 views
0

我有一個人員列表,每個人都有一個寵物列表。 我想獲得頁面加載的人員列表。 我只想要加載的一個人的寵物列表,如果用戶點擊視圖寵物當用戶點擊查看詳情時,使用knockoutjs加載孩子

enter image description here

這裏是的jsfiddle使用CoffeeScript的

http://jsfiddle.net/eiu165/rScSL/15/

的getPets好像是叫剛剛裝貨時

<a href="#" data-bind="click: $root.getPets()">view pets</a> 

編輯

我已經通過直接向Person對象添加方法來計算出它。
http://jsfiddle.net/eiu165/rScSL/22/

回答

0

我不知道我可以爲了方法添加到Person類

我加入了getPets法的人,讓我自己的寵物

Person = (data) -> 
    name = ko.observable(data.name) 
    lname = ko.observable(data.lname) 
    pets = ko.observableArray(data.pets) 
    getPets = (person) -> 
     data = '{"pets":[ 
      {"age": "5", "type": "dog"}, 
      {"age": "4", "type": "cat"} 
     ]}' 
     json = $.parseJSON(data).pets 
     mappedItems = $.map(json , (i)-> Pet(i) ) 
     pets(mappedItems) 
    name:name 
    lname:lname 
    pets:pets 
    getPets:getPets   

http://jsfiddle.net/eiu165/rScSL/21/

名單
3

當您使用click結合(或event結合),要綁定它與參考的功能,而不是它的實際調用。

所以,你會只想做:

<a href="#" data-bind="click: $root.getPets">view pets</a> 

否則,實際上得到執行的代碼。你可能不想這樣做,除非該函數返回你想要使用的實際函數。

相關問題