二維碼
字符串太長沒辦法識別,選擇了使用較短的字符串(與后臺協(xié)商解決)
輸入框——v-model
問題:v-model綁定的輸入框,輸入框中的值改變了,數(shù)據(jù)并沒有得到相應(yīng)。
解決:1.利用原生js操作手動改變值2.使用v-model.lazy
修飾符.lazy,轉(zhuǎn)變成在change事件中同步(在默認(rèn)情況下,v-model在input事件中同步輸入框的值與數(shù)據(jù) )
<!-- 在 "change" 而不是 "input" 事件中更新 -->
<input v-model.lazy="msg" >
forEach
第一次在項目中使用forEach,感覺挺好用的。
forEach方法中的function回調(diào)有三個參數(shù):第一個參數(shù)是遍歷的數(shù)組內(nèi)容,第二個參數(shù)是對應(yīng)的數(shù)組索引,第三個參數(shù)是數(shù)組本身.
each和map的使用方法類似(下次可以嘗試新的用法)
comData.materials.forEach(function(value,index){
var accepNums = document.getElementsByClassName('accepNum');
comData.materials[index].shipmentqty = accepNums[index].value;
});
獲得input中的value值方法
原生js:
var obj = document.getElementById("test");
var test = obj.value;
jQuery方法
$("#text").val();
$("input[name = 'test']").val();
$("input[type = 'text']").val();
$("input[type = 'text']").attr(value);
querySelector與querySelectorAll的總結(jié)
- querySelector返回的值為滿足條件的是第一個元素(node),而querySelectorAll()返回的是所有的元素(nodelist)
- 在沒有滿足的情況下,querySelector返回null,querySelectorAll返回的是空的數(shù)組
獲取頁面ID為test的元素:
document.getElementById("test");
//or
document.querySelector("#test");
document.querySelectorAll("#test")[0];
獲取頁面class屬性為”red”的元素:
document.getElementsByClassName('red')
//or
document.querySelector('.red')
//or
document.querySelectorAll('.red')
使用原生js動態(tài)設(shè)置CSS
一開始先設(shè)置為hidden
var app = document.getElementById('app');
app.style.visibility = "hidden";
加載完成后設(shè)置為visible
var app = document.getElementById('app');
app.style.visibility = "visible";
Object.style.visibility=visible|hidden|collapse
vue基礎(chǔ)總結(jié)
關(guān)于異步
公司封裝好的請求能否避開異步請求導(dǎo)致的錯誤
js獲取節(jié)點 dom操作
常用方法總結(jié):
createAttribute() //用指定的名字創(chuàng)建新的Attribute節(jié)點
createElement()//用制定的標(biāo)記名稱創(chuàng)建新的element節(jié)點
屬性:
childNodes//以Node[]的形式存放當(dāng)前節(jié)點的子節(jié)點。如果沒有子節(jié)點,則返回空數(shù)組。
firstChild//以Node的形式返回當(dāng)前節(jié)點的第一個子節(jié)點。如果沒有子節(jié)點,則為null。
lastChild//
以Node的形式返回當(dāng)前節(jié)點的最后一個子節(jié)點。如果沒有子節(jié)點,則為null。
nextSibling//以Node的形式返回當(dāng)前節(jié)點的兄弟下一個節(jié)點。如果沒有這樣的節(jié)點,則返回null。下一個兄弟節(jié)點
previousSibling//上一個兄弟節(jié)點
parentNode//父節(jié)點
方法:
appendChild()//通過把一個節(jié)點增加到當(dāng)前節(jié)點的childNodes[]組,給文檔樹增加節(jié)點。
hasChildNodes()//如果當(dāng)前節(jié)點擁有子節(jié)點,則將返回true。
insertBefore()//給文檔樹插入一個節(jié)點,位置在當(dāng)前節(jié)點的指定子節(jié)點之前。如果該節(jié)點已經(jīng)存在,則刪除之再插入到它的位置。
removeChild()// 從文檔樹中刪除并返回指定的子節(jié)點。
replaceChild()// 從文檔樹中刪除并返回指定的子節(jié)點,用另一個節(jié)點替換它。
空的object
JavaScript如何判斷一個對象{}是否為空對象,沒有任何屬性
var a = {};
if(!a){ console.log(1);}
else if(a == null) { console.log(2);}
else { console.log(3);}//3
var b = {};
if(b == {}){ console.log(4);}
if(b == '{}') { console.log(5);}
if(typeof(b) == 'object') { console.log(6);}//6
判斷方法:JSON.stringify()
var c = {};
if(JSON.stringify(c) == "{}"){ console.log(7);}
var c = {};
if(JSON.stringify(c) == "{}"){ console.log(7);}
關(guān)于html5+
html5+是hbulider利用自己的IDE結(jié)合不同平臺的接口再加上html5的東西開發(fā)出來的一套框架,它有自己的使用規(guī)范,它允許和提供了一些接口和函數(shù)來讓web開發(fā)者實現(xiàn)原聲app所能實現(xiàn)的功能