作者mrbigmouth (拒絕崩潰的蒲公英)
看板Ajax
標題Re: [問題] Backbone View 怎麼改用jQuery?
時間Mon Feb 18 09:43:01 2013
簡單一點就是像這樣
function Card(data) {
var template =
'<div>' +
'<h1>' + data.title + '</h1>' +
'<p>' + data.content + '</p>' +
'</div>'
;
this.data = data;
this.$ = $($.parseHTML(template));
this.$.appendTo('body');
}
var card1 = new Card({'title' : '卡片的標題'
,'content': '卡片的內容'
})
這樣綁事件可以card1.$.on('h1', 'click', function(){....})
或者直接在function Card裡面新建區塊時做....(重複性的功能最好都如此)
更多功能就請自己研究吧
※ 引述《superpai (超級白)》之銘言:
: 最近用22kopendata的api做了個小玩具 http://22.kjobs.info/
: 網站上每個職缺卡片都是new一個Backbone.View的
: 因為網站也不會再擴充了,覺得要拉underscore + backbone還蠻浪費的
: 但是我沒有backbone就不會寫這種重複性的區塊
: 每個區塊都有自己的event和data
: 所以想請教一下拿掉backbone以後要怎麼改寫?
: js在這邊 http://22.kjobs.info/javascripts/app.js
: (CoffeeScript編譯的)
: 感謝
: ----
: 補充一下,主要是
: view = new JobView({
: data: job,
: template: JobTemplate,
: detailTemplate: JobDetailTemplate,
: count: current_job_count + i
: });
: 這個地方,每次丟進去的data和count是不一樣的,
: 讓生出來的html也不一樣
: 所以沒有backbone的話不知道怎麼改用jQuery寫
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.190.145
1F:→ mrbigmouth:不過如果要更多複雜的功能,其實用backbone就好了 02/18 09:44
2F:→ mrbigmouth:也沒多大....沒必要自己造輪子 02/18 09:45
3F:→ superpai:原來如此 我還沒有自己寫function來new過 來試試看 02/18 11:01
4F:→ mrbigmouth:寫function來new是最基本的javascript物件導向方式 02/18 11:20
5F:→ mrbigmouth:最好要對prototype有所理解才能寫出有效率的程式 02/18 11:21
6F:→ mrbigmouth:(與其說最基本....不如說是最原始的方式) 02/18 11:22
7F:→ mrbigmouth:還有...工廠函式最後也能有回傳值..而且可以以回傳物件 02/18 11:23
8F:→ mrbigmouth:的方式取代原本回傳this的方式,這樣就可以製做出不用 02/18 11:24
9F:→ mrbigmouth:new也能生效的工廠函式... 02/18 11:24
10F:→ mrbigmouth:我是指能用card = new Card(), 也能直接card = Card() 02/18 11:25
11F:→ mrbigmouth:反正這方面資料很多應該可以自己找啦........(縮) 02/18 11:25
12F:→ superpai:感謝指點和範例,我成功了 02/18 21:58