學習筆記

1.append(content)函數。content能夠是一個字符串,dom,或者$(dom)html

var dom = showData.length>0 ? template('template-studentGrid',{ items:showData}):'';
page===1? studentGrid.html(dom):studentGrid.append(dom);
if(showData.length === 0) return;
$(dom).filter('.item').each(function (i) {
$(this).data('data', showData[i]);
})  //dom和$(dom)是不一樣的變量了。$(dom)指向了不一樣的變量,所以 studentGrid中dom的.item確定沒有成功的加上data('data', showData[i])。
//修改的時候選中已改數據
$(curChooseListData).each(function (i, item) {
studentGrid.find('div.item[data-id="' + item.id + '"] i.check-ico').addClass('fa-check-circle').removeClass('fa-circle-thin');
}
改爲這樣:
var dom = showData.length>0 ? $(template('template-studentGrid',{ items:showData})):'';
page===1? studentGrid.html(dom):studentGrid.append(dom);
if(showData.length === 0) return;
dom.filter('.item').each(function (i) { //dom都是同一個變量
$(this).data('data', showData[i]);
})
//修改的時候選中已改數據
$(curChooseListData).each(function (i, item) {
studentGrid.find('div.item[data-id="' + item.id + '"] i.check-ico').addClass('fa-check-circle').removeClass('fa-circle-thin');
}
 

//左側列表選中/取消
studentGrid.on('click', 'div.item', function () {
var item = $(this),
ico = item.find('i.check-ico'),
id = item.attr('data-id'),
data = item.data('data');//這裏便能拿到data('data')了
//選中 if (ico.hasClass('fa-circle-thin')) { ico.addClass('fa-check-circle').removeClass('fa-circle-thin'); curChooseListData.push(data); refreshChosenList(); } else { chosenStudent.find('div.item[data-id="' + id + '"] i').click(); } })

 

2.append()與html(),text()的區別?react

3.每打開一次modal,modal的js便會執行引進一次,也就綁定了一次事件。由於事件時綁在document上,關閉modal的時候,document沒有關閉,爲此只要一打開,就會又綁定一次事件。等到觸發改事件的時候就會觸發好幾回,由於綁定了不少次。jquery

4.列表外面能夠傳遞各類數據參數到modal裏面,包括列表刷新的函數。由於該modal仍是在該document上的,因此modal能夠執行列表外的刷新函數。這裏注意了,是哪裏打開的modal,即app

loadHtmlModalWithParameters的,在該modal關閉的時候,關閉以後的回調函數回到load該modal的對應地方。不要搞錯位置了。
5.max.width(calc(100% - 100px));
6.請求option和post是不同的
7.decodeurl編碼的問題
8.jquery.min.js是壓縮文件
9.this.setState({xxx:bb} () =>{}),setState加回調函數?
10.authorize-res-tag 按鈕權限
11.template(id,data),data是一個對象
12.setTimeout(fun(),t),setInterval(fun(),t)
13.$對象轉dom對象 $()[0]或者$().get()
14.eq()和get()的區別
15.lastIndexof()字符串最後出現的位置
16.關於key,組件的key變了,生命週期會再走一遍。若是沒變,只執行willreceiveprops。react是根據組件上的key來判斷是否要從新走一遍生命期的。
key同級不重複。例如ul中的li加了key,react會根據key,value來比較dom元素,決定是否更新。
17.何爲虛擬dom?react根據虛擬dom來對比不一樣,不一樣則更新。
18.根元素不一樣生命週期會再走一遍,
19,.狀態提高:同一數據的變化,須要幾個不一樣的組件來來反映。提高共享的狀態到最近的祖先組件中。或則組件2想要拿到組件1的狀態。那麼組件1把狀態提高到最近的父組件在中,組件2再去拿到組件1的狀態。
20.受控組件:值由代碼控制,value={value},必定要在state裏面存它的值,並要在onchange裏寫好值。表單數據有react組件控制,能夠控制用戶的輸入行爲。不受控組件,值有它本身控制。何時使用受控和不受控?
21.dva: dva提供modal,獲取內存數據,能夠理解爲一個能夠存變量和拿變量的盒子,每一個組件均可以連接它。modal是組件,Link也是組件。好比,兩個組件要用到相同的資源,例如:loginUerName的信息。那麼,兩個組件就能夠 分別connec這個modal拿到共享的數據。某個組件修改這個modal中的數據後,別的組件也能夠拿來用的。
相關文章
相關標籤/搜索