backboneJS 使用心得(2)view和model事件的多次繫結(轉載)
一,new 一個新的View物件時,最好把,el引數傳進去;而不是在view裡面操作view的外部節點。
比如:
外部呼叫 var view=new BankboneView({el,$('body')});
view內部: $(this.el).html(-template(...))
二,如果所有的外部傳入el都是同一個時,會造成事件的多次重複繫結。
產生的原因是,backbone的view內部,事件的繫結都是基於this.el,$el這2個的,而我們在外部呼叫都用了同一個el,沒有銷燬過el節點。
解決辦法:
採用動態建立的節點作為view的外部el節點。比如
$('body').html('<div class="main"></div>')
new view({el:$('.main')})
三,model也會發生多次事件繫結
產生的原因:由於有些model在整個應用當中,產生之後,一直沒有銷燬,那麼如果view中,一般繫結的事件採用
model.bind('all',function(){
.....
});
當這個view被多次執行的時候,每次model資料變更,就會多次的執行繫結的事件;
解決辦法:model.unbind().bind(.....);
四,underscore的_.bindAll() 函式
這個函式可以把,指定的函式的執行上下文繫結到第一個引數;
例如執行:
_.bindAll(this,'render','show')
之後,頁面程式碼可以這樣使用:
collection.bind('all',this.render)
原文地址:http://hi.baidu.com/mishe/item/511ceb55d7196809e6c4a563
相關推薦
backboneJS 使用心得(2)view和model事件的多次繫結(轉載)
一,new 一個新的View物件時,最好把,el引數傳進去;而不是在view裡面操作view的外部節點。 比如: 外部呼叫 var view=new BankboneView({el,$('body')}); view內部: $(this.el).html(-template(...)) 二,如果
ASP.NET單值繫結和多值繫結(c#+VS2010)
一、單值繫結 新建一個ASP.NET網站模板->雙擊網站根目錄下的Default.aspx檔案,開啟設計檢視,從工具箱中拖一個label控制元件到設計檢視中->切換到源檢視中,設定label控制元件的屬性如下: <asp:Label ID="Label1
vue中eventbus被多次觸發(vue中使用eventbus踩過的坑)【bus.$on事件被多次繫結】
問題描述:只要頁面沒有強制重新整理,存在元件切換,bus.$on方法會被多次繫結,造成事件多次觸發 觸發bus.$on中繫結的方法.png
Java SpringMVC框架學習(二)httpServeltRequest和Model傳值的區別
urn ont ppi mode array style att 區別 () 為什麽大多程序在controller中給jsp傳值時使用model.addAttribute()而不使用httpServeletRequest.setAttribute()? 事實上model數
springmvc學習筆記(20)——Map和Model 以及ModelAndView
處理模型資料之Map,Model 在上一次的筆記中講到了使用ModelAndView作為返回值,可以輕鬆的返回資料並且指定轉發的頁面。 其實我們也可以使用Map作為引數,將資料傳遞給頁面。直接上程式碼: import org.springframework.ui.Model; / *
把只包含質因子2、3和5的數稱作醜數(Ugly Number)。例如6、8都是醜數,但14不是,因為它包含質因子7。 習慣上我們把1當做是第一個醜數。求按從小到大的順序的第N個醜數。
/* 思路: 通俗易懂的解釋: 首先從醜數的定義我們知道,一個醜數的因子只有2,3,5,那麼醜數p = 2 ^ x * 3 ^ y * 5 ^ z,換句話說一個醜數一定由另一個醜數乘以2或者乘以3或者乘以5得到,那麼我們從1開始乘以2,3,5,就得到2,3,5三個醜數,在從這
.把只包含質因子2、3和5的數稱作醜數(Ugly Number)。例如6、8都是醜數,但14不是,因為它包含質因子7。 習慣上我們把1當做是第一個醜數。求按從小到大的順序的第N個醜數。
題目: 把只包含質因子2、3和5的數稱作醜數(Ugly Number)。例如6、8都是醜數,但14不是,因為它包含質因子7。 習慣上我們把1當做是第一個醜數。求按從小到大的順序的第N個醜數。 解題思路:選定第一個醜數1,根據醜數的定義,可知以後的醜數必然是在1的基礎上乘以2,乘以3,乘以5,
劍指offer:把只包含質因子2、3和5的數稱作醜數(Ugly Number)。例如6、8都是醜數,但14不是,因為它包含質因子7。 習慣上我們把1當做是第一個醜數。求按從小到大的順序的第N個醜數。
問題:把只包含質因子2、3和5的數稱作醜數(Ugly Number)。例如6、8都是醜數,但14不是,因為它包含質因子7。 習慣上我們把1當做是第一個醜數。求按從小到大的順序的第N個醜數。 通俗易懂的
尋找醜數,把只包含因子2、3和5的數稱作醜數(Ugly Number)
題目: 把只包含因子2、3和5的數稱作醜數(Ugly Number)。例如6、8都是醜數,但14不是,因為它包含因子7。 習慣上我們把1當做是第一個醜數。求按從小到大的順序的第N個醜數。 思路: 所
群福利:Redis雲服務器免費領取(附Redis安裝和連接遠程連接Redis案例)
sde net dia ref col edi 學習 .cn tar Redis安裝:在線體驗:https://try.redis.io Ubuntu:sudo apt-get install redis CentOS:yum install redis (root權限
Spring Profile和Mybatis進行多個數據源(H2和Mysql)的切換
sql pda 開箱 https tails val 收集 sqlserver jpetstore 總結: 最近在做WebMagic的後臺,遇到一個問題:後臺用到了數據庫,本來理想情況下是用Mysql,但是為了做到開箱即用,也整合了一個嵌入式數據庫H2。這裏面就有個問題了,
Java併發程式設計(6):Runnable和Thread實現多執行緒的區別(含程式碼)
Java中實現多執行緒有兩種方法:繼承Thread類、實現Runnable介面,在程式開發中只要是多執行緒,肯定永遠以實現Runnable介面為主,因為實現Runnable介面相比繼承Thread類有如下優勢: 1、可以避免由於Java的單繼承特性而帶來的侷限; 2、增強程式的健壯性,程式碼能夠被多個執行
Java並發編程(6):Runnable和Thread實現多線程的區別(含代碼)
線程休眠 ket out dde 可能 休眠 stat for oid Java中實現多線程有兩種方法:繼承Thread類、實現Runnable接口,在程序開發中只要是多線程,肯定永遠以實現Runnable接口為主,因為實現Runnable接口相比繼承Thread類有如下優
Selenium3+webdriver學習筆記5(模擬常用鍵盤和滑鼠事件)
#!/usr/bin/env python# -*- coding:utf-8 -*-from selenium import webdriverfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.common.acti
vue中用computed簡單實現資料的雙向繫結(getter 和 setter)
vue是號稱實現了資料雙向繫結的框架,但事實上在日常開發中我們用的最多的就是 v-model 將data(vue例項中)裡面的是資料和view 相關聯,實現 data 更新,view自動重新整理的效果。但是,在移動成都上來說,這種資料雙向繫結的效果並不是特別的明顯。 今天,我用輸入框和 co
c++繼承和組合,多型,虛擬函式(c++後期繫結的本質)
組合和繼承,實現了程式碼的可擴充套件性和相容性。 多型是在虛擬函式上得到了支援。 多型的原理,函式的呼叫繫結: 把函式的呼叫和函式體相關聯稱為捆綁。當捆綁是在程式執行之前完成的,稱為早期捆綁。c語言只支援早期繫結。晚期捆綁,物件通過自身得到類的資訊,然後找
第六章 註解式控制器詳解——SpringMVC強大的資料繫結(2)
6.6.2、@RequestParam繫結單個請求引數值 @RequestParam用於將請求引數區資料對映到功能處理方法的引數上。 public String requestparam1(@RequestParam String username) 請求中包含username引數(如/
微信小遊戲開發(4)-動畫和觸控事件
一、動畫 在JavaScript中,一般通過setInterval、setTimeout、requestAnimationFrame來實現動畫效果。 微信小遊戲對這些API提供了支援: setInterval() setTimeout() requestAnimationFr
js中特殊符號轉義(base64作為引數和url作為引數傳遞要注意的問題)
+ 空格 / ? % & = # %2B %20 %2F %3F %25 %26 &3D %23 str = str.replace(/\+/g,"%2B"); 將+號替換為十六進位制 1.當圖片base64碼作為引數
微信支付統一下單,簽名錯誤(生成的簽名和測試工具生成的一樣還報錯)解決方法
微信支付統一下單,簽名錯誤的原因很多,解決方法就是一個個排除。 簽名生成的通用步驟如下: 第一步,設所有傳送或者接收到的資料為集合M,將集合M內非空引數值的引數按照引數名ASCII碼從小到大排序(字典序),使用URL鍵值對的格式(即key1=value1&ke