Re: [問題] Backbone View 怎麼改用jQuery?

看板Ajax作者 (拒絕崩潰的蒲公英)時間12年前 (2013/02/18 09:43), 編輯推噓0(0012)
留言12則, 2人參與, 最新討論串2/2 (看更多)
簡單一點就是像這樣 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

02/18 09:44, , 1F
不過如果要更多複雜的功能,其實用backbone就好了
02/18 09:44, 1F

02/18 09:45, , 2F
也沒多大....沒必要自己造輪子
02/18 09:45, 2F

02/18 11:01, , 3F
原來如此 我還沒有自己寫function來new過 來試試看
02/18 11:01, 3F

02/18 11:20, , 4F
寫function來new是最基本的javascript物件導向方式
02/18 11:20, 4F

02/18 11:21, , 5F
最好要對prototype有所理解才能寫出有效率的程式
02/18 11:21, 5F

02/18 11:22, , 6F
(與其說最基本....不如說是最原始的方式)
02/18 11:22, 6F

02/18 11:23, , 7F
還有...工廠函式最後也能有回傳值..而且可以以回傳物件
02/18 11:23, 7F

02/18 11:24, , 8F
的方式取代原本回傳this的方式,這樣就可以製做出不用
02/18 11:24, 8F

02/18 11:24, , 9F
new也能生效的工廠函式...
02/18 11:24, 9F

02/18 11:25, , 10F
我是指能用card = new Card(), 也能直接card = Card()
02/18 11:25, 10F

02/18 11:25, , 11F
反正這方面資料很多應該可以自己找啦........(縮)
02/18 11:25, 11F

02/18 21:58, , 12F
感謝指點和範例,我成功了
02/18 21:58, 12F
文章代碼(AID): #1H8OSeQs (Ajax)
討論串 (同標題文章)
文章代碼(AID): #1H8OSeQs (Ajax)