2017.8.20v-model、forEach、DOM操作

二維碼

字符串太長沒辦法識別,選擇了使用較短的字符串(與后臺協(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)的功能

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,045評論 25 709
  • JavaScript 將字符串轉(zhuǎn)換為數(shù)字 parseInt() ◆只保留數(shù)字的整數(shù)部分,不會進(jìn)行四舍五入運算。 ...
    AkaTBS閱讀 1,040評論 0 9
  • 畢竟他幾乎骨頭卡
    d367c2907a17閱讀 86評論 0 1
  • 將土豆、胡蘿卜洗干凈,去皮,切成小塊備用! 將準(zhǔn)備好的胡蘿卜塊和土豆塊放入蒸鍋中蒸熟,大小切得均勻一點哦 將豬里脊...
    九陽女鬼閱讀 179評論 0 0
  • Objective-C 編碼規(guī)范,內(nèi)容來自蘋果、谷歌的文檔翻譯,自己的編碼經(jīng)驗和對其它資料的總結(jié)。 概要 Obje...
    狼鳳皇閱讀 559評論 0 1

友情鏈接更多精彩內(nèi)容