移動端 | Vue.js對比微信小程序基礎語法

(1)vue 自定義組件與父組件的通信,props:[abb],可以看成自組建的一個自定義屬性

(2)vue 模版語法{{}} 只能是在DOM中插入,<div>{{acc}}</div>, 綁定屬性的話應v-bind:id="abb" 不需要{{}};
而小程序可以<image src="{{url}}" /><div wx:for="{{arr}}" wx:for-item="item" wx:for-index="index wx:key="index"></div>
(3)計算屬性 computed:{} VS 方法 methods:{}
計算屬性是基于他們的依賴(響應式依賴)進行緩存的,只有以來發生改變才會重新求值,如果以來不變,多次訪問會立即返回之前的計算結果,而不執行函數;而方法:每次重新訪問/渲染時,方法總會在此執行;
(4)vue的 watch:{}, 偵聽 data 中的狀態發生變化時,執行的操作;
使用場景: 當需要在數據變化時,執行異步或者開銷較大的操作時,使用watch
eg:
data:{abb: ''}
watch: {
abb: function (newvalue, oldvalue) {

}
}
(5)class 與 style的綁定
1、 vue 為 v-bind:class="" 做了增強
對象語法:
data: {
classObject: {
booleanb: true,
booleanc: false
}
}
v-bind:class="{classa: booleanb, 'classb': booleanc}" -> class="classa"
v-bind:class="classObject" -> class="classa"
數組語法:
data: {
isActive: false,
activeClass: 'active',
errorClass: 'text-danger'
}
v-bind:class="[activeClass, errorClass]" -> <div class="active text-danger"></div>
v-bind:class="[isActive ? activeClass : ''], errorClass" -> class="text-danger"
v-bind:class="[{classa: booleada}, classb]"
2、v-bind:style=""
data: {
activeColor: 'red',
fontSize: 30
}
v-bind:style="{color: activeColor, fontSize: fontSize + 'px'}"
v-bind:style="[baseStyles, overridingStyles]" // 將多個樣式對象綁定到同一個元素上
(6)v-if="abb" // v-if 時惰性的,如果開始為false,則不會渲染;每次切換內部都銷毀重建;v-for優先級比v-if高
v-if="abb === 'uiui"
<template v-if="abb"></template>
v-show="" // 始終都會渲染到DOM! 只是切換 display 屬性;不支持《template》 不支持v-else
(7)v-for=""
小程序 wx:for="{{arr}}" wx:for-item="item" wx:for-index="index" wx:key="index"
微信 v-for="(item, index) in items" :key="item" item in items 的特殊語法; items - 源數據數組。 item - 數組元素迭代的別名
微信 <li v-for=“(value, key, index) in object” ></li> v-for 通過對象的屬性來迭代

(8) 數組更新檢測
「變異方法:會改拜年原始數組」
var abb = [1,2,3,4,5]
unshift()前邊添加 push() 后邊添加
--------------------------------------------
shift()前邊刪減 pop() 后邊刪減

sort() 排序
reverse() 顛倒
splice(index, howmany, item1, item, ..... itemX)
從數組中刪除、添加項目, 且改變原來的數組;返回被刪除的項;
index 開刀位置;
howmany 往后切幾個;
item。。 往里添加幾個
「非變異方法: 不會改變原始數組,但是總會返回一個新的數組;」
filter()
concat()
slice()
「注意:」
由于JS的限制,vue 不能檢測到以下數組的變動:
1、當使用索引,直接設置一個項時; vm.items[indexOFitem] = newValue
2、修改數組的長度時, vm.items.lenght= newLength
舉個例子:
var vm = new Vue({
data: {
items: ['a', 'b', 'c']
}
})
vm.items[1] = 'x' // 不是響應性的
vm.items.length = 2 // 不是響應性的
為了解決第一類問題,以下兩種方式都可以實現和 vm.items[indexOfItem] = newValue 相同的效果,同時也將觸發狀態更新:
Vue.set(vm.items, indexOfitem, newValue)
vm.items.splice(indexOfItem, 1, newValue)
你也可以使用 vm.$set 實例方法,該方法是全局方法 Vue.set 的一個別名:
wm.$set(vm.items, indexOfitem, newValue)
為了解決第二個問題:
vm.items.splice(newLength)
(9)對象更改檢測 注意事項
* 由于JS 的限制,vue不能檢測到對象屬性 的添加或者刪除;
舉例:data: {a:1} vm.b = 2 // 不是響應式的
解決:
Vue.set(object, key, value)
vm.$set(object, key, value)
* 如果想為已有對象賦予多個新屬性,比如使用Object.assign() 或者 _.exetnd() 在這種情況下,你應該用兩個對象的屬性,創建一個新對象,所以想添加新的響應式屬性,不要像這樣
舉例:
data: {
userProfile: {
name: 'Anika'
}
}
Object.assign(vm.userProfile, {
age: 27,
favoriteColor: 'Vue Green'
})
而要這樣:
vm.userProfile = Object.assign({}, vm.userProfile, {
age: 27,
favoriteColor: 'Vue Green'
})

轉載于:https://www.cnblogs.com/wuhaoquan/p/9365867.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538171.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538171.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538171.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

計算機組裝電源線排,主機箱背部走線技巧 組裝電腦走背線與理線教程

近年來&#xff0c;裝機行業流行一個術語&#xff0c;即“走背線”&#xff0c;那么走背線是什么&#xff1f;裝機之家小編簡單介紹下&#xff0c;通俗的說&#xff1a;走背線就是針對電腦機箱&#xff0c;裝機的時候&#xff0c;將機箱內部和電源的線材做到最干凈整潔&#xf…

查看oracle數據庫允許的最大連接數和當前連接數

原文鏈接&#xff1a;http://blog.csdn.net/zmx729618/article/details/54018629 ----------------------------------------------------------------------------- 在查看數據的連接情況很有用&#xff0c;寫完程序一邊測試代碼一邊查看數據庫連接的釋放情況有助于分析優化…

干煸線椒的做法_美食:農家蒸土雞,剁椒梅鱭魚干,干煸茶樹菇,芹菜炒牛肉的做法...

閱讀本文前&#xff0c;請您先點擊上面“藍色字體”&#xff0c;再點擊“關注”&#xff0c;這樣您就可以免費收到我們的最新內容了&#xff0c;每天都會有更新&#xff0c;完全是免費訂閱&#xff0c;請放心關注。圖文來源網絡&#xff0c;侵權聯系刪除&#xff01; …

計算機出現假桌面怎么解決辦法,win10系統apphangxprocb1引起桌面假死怎么解決【圖文】...

電腦死機怎么辦&#xff1f;有win10系統用戶反應win10系統apphangxprocb1引起桌面假死怎么解決&#xff1f;出現這種情況該怎么解決&#xff1f;下面就將方法分享給大家。描述:出現了一個問題,該問題導致了此程序停止與 Windows 進行交互。錯誤的應用程序路徑: C:Windowsexplor…

Tomcat log文件

catalina.out 是Tomcat啟動和運行時訪問日志。包括訪問報錯日志。不包括啟動報錯日志。包括了 catalina.2017-12-02.log 的日志。 localhost.2017-12-02.log 報錯日志&#xff0c;包括啟動時報錯&#xff0c;如框架初始化失敗日志&#xff0c;如spring的容器初始化日志…

如何將對象拼接成get傳值的形式

傳遞的參數為params對象export default {data () {return {phone: 18688754577,password: 123456}},computed: {params () {let params {}params.phone this.phoneparams.password this.passwordreturn params}},methods: {concatParams (params) {let paramsStr for (var …

= 改為 in

for (String tableName : tableNames) {//檢查是否全為空for (long p_hour start; p_hour < end; p_hour) {String sql"select * from HIVE_READ_INSERT_HISTORY where "imsiORmsisdnSql(imsi, msisdn, tableName)" and p_hour"p_hour" " &q…

noj數據結構稀疏矩陣的加法十字鏈表_數據結構之:圖

導讀1. 什么是圖&#xff1f;圖的存儲方式&#xff1f;2. 圖的遍歷&#xff08;深度優先搜索&#xff0c;廣度優先搜索&#xff09;3. 最短路徑1. 什么是圖&#xff1f;圖的存儲方式&#xff1f;前面總結了“樹”這種數據結構&#xff0c;而這篇博客總結的是更為復雜的一種數據…

vue中用數組語法綁定class

簡單的綁定class就不說了&#xff0c;它可以和對象語法一樣&#xff0c;使用data、computed、methods三種方法。說一下我在工作里體會到這種作法的好處。那么直接上代碼。。。咔咔咔 說下需求&#xff0c;我是做一個顯示框&#xff0c;當status為1時&#xff0c;代表成功狀態&a…

解釋型語言與編譯型語言的區別

編譯型語言在程序執行之前&#xff0c;有一個單獨的編譯過程&#xff0c;將程序翻譯成機器語言&#xff0c;以后執行這個程序的時候&#xff0c;就不用再進行翻譯了。 解釋型語言&#xff0c;是在運行的時候將程序翻譯成機器語言&#xff0c;所以運行速度相對于編譯型語言要慢。…

三星臺式機計算機編號怎么看,三星筆記本如何查看型號

現如今&#xff0c;電腦的用途廣泛&#xff0c;而且方便快捷&#xff0c;深受人們的歡迎&#xff0c;人們不僅可以通過電腦來了解知識&#xff0c;開闊眼界&#xff0c;而且電腦是一種消遣、娛樂的方式&#xff0c;可以放松身心。那電腦的話&#xff0c;有分兩種&#xff0c;一…

自旋鎖和互斥鎖實例_多線程編程之自旋鎖

一、什么是自旋鎖一直以為自旋鎖也是用于多線程互斥的一種鎖&#xff0c;原來不是&#xff01;自旋鎖是專為防止多處理器并發(實現保護共享資源)而引入的一種鎖機制。自旋鎖與互斥鎖比較類似&#xff0c;它們都是為了解決對某項資源的互斥使用。無論是互斥鎖&#xff0c;還是自…

如何卸載symantec

前段時間,業務的虛機上安裝了symantec Endpoint Protection(正版)&#xff0c; 發現虛機運行一段時間就會失去響應死機&#xff0c;并且有些安裝symantec的虛機3389端口無法使用&#xff0c;怎么折騰都不行。最后決定卸載它。一、是否可以用停止服務和終止進程再卸載的方式卸載…

CSS文件引入順序

<link rel"stylesheet" href"bootstrap.min.css"> <link rel"stylesheet" href"app.css"> 自定義的css要最后引入。因為有時候會修改bootstrap的css。只有后引入的才會覆蓋。 如果提前引入了&#xff0c;自定義的會被bo…

瀏覽器的簡單兼容

2019獨角獸企業重金招聘Python工程師標準>>> function getXHER() { var xhr null; if(XMLHttpRequest){ xhr new XMLHttpRequest(); }else{ xhr new ActiveXObject(Microsoft.XMLHTTP); } return xhr; }轉載于:https://my.oschina.net/u/2511906/blog/1865622

用計算機算出陳赫手機號碼,陳赫手機號碼遭《快本》曝光,并被網友打到關機!還有人搜到了他的支付寶賬戶......

原標題&#xff1a;陳赫手機號碼遭《快本》曝光&#xff0c;并被網友打到關機&#xff01;還有人搜到了他的支付寶賬戶...昨天的陳赫可能是被不斷的電話鈴聲叫醒的&#xff0c;因為快本在節目中把陳赫的電話號碼給曝光了……當時導演讓每個明星向自己的一位圈內好友發出求助短信…

伯努利分布方差_統計分布--深入淺出統計學總結

伯努利分布&#xff1a;一個實驗只有兩個結果概率發生在{0,1}&#xff0c;發生一個事件成功的概率為 x&#xff0c;不成功的概率為y&#xff0c; 1.若符合伯努基分布條件&#xff1a;p 成功概率 &#xff0c; q 失敗概率伯努利分布數學期待&#xff1a;伯努利分布方差&#x…

解決The project description file (.project) for 'xxx' is missing

若沒有修改過.project文件&#xff0c;只需重新導入工程即可&#xff0c;別糾結其他的了

macbook禁用鍵盤_一行命令禁用 MacBook 內置鍵盤

去年底阿麥換了新的 MacBook Pro&#xff0c;于是她自學生時代就一直在用的老款 MacBook Pro 就歸我當玩具了。一度考慮過將其出售&#xff0c;但是想到自己還閑置了一塊 SSD&#xff0c;就想著干脆換上讓它繼續服役。于是買了光驅硬盤支架&#xff0c;想著有時間就給換上。然而…

Java分享筆記:自定義枚舉類 使用enum關鍵字定義枚舉類

在JDK1.5之前沒有enum關鍵字&#xff0c;如果想使用枚舉類&#xff0c;程序員需要根據Java語言的規則自行設計。從JDK1.5開始&#xff0c;Java語言添加了enum關鍵字&#xff0c;可以通過該關鍵字方便地定義枚舉類。這種枚舉類有自己的程序編寫規則&#xff0c;并且具有一些特殊…