(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'
})

移动端 | Vue.js对比微信小程序基础语法的更多相关文章

  1. 用Vue.js开发微信小程序:开源框架mpvue解析

    前言 mpvue 是一款使用 Vue.js 开发微信小程序的前端框架.使用此框架,开发者将得到完整的 Vue.js 开发体验,同时为 H5 和小程序提供了代码复用的能力.如果想将 H5 项目改造为小程 ...

  2. MPVUE - 使用vue.js开发微信小程序

    MPVUE - 使用vue.js开发微信小程序 什么是mpvue? mpvue 是美团点评前端团队开源的一款使用 Vue.js 开发微信小程序的前端框架.框架提供了完整的 Vue.js 开发体验,开发 ...

  3. 微信小程序基础语法总结

    本文介绍微信小程序语法 配置文件 app.json的配置(全局) { // 用来配置页面的路径 "pages":[ "pages/index/index", / ...

  4. 像VUE一样写微信小程序-深入研究wepy框架

    像VUE一样写微信小程序-深入研究wepy框架 微信小程序自发布到如今已经有半年多的时间了,凭借微信平台的强大影响力,越来越多企业加入小程序开发. 小程序于M页比相比,有以下优势: 1.小程序拥有更多 ...

  5. 微信小程序基础之开源项目库汇总

    awesome-github-wechat-weapp 是由OpenDigg整理并维护的微信小程序开源项目库集合.我们会定期同步OpenDigg上的项目到这里,也欢迎各位提交项目给我们. (链接:ht ...

  6. 微信小程序基础

    前言 什么是微信小程序,它是一种轻量级的APP,它与常规App来说,无需下载安装即可使用,它嵌于微信App中,要使用微信小程序你只需要搜索一下微信小程序的名称就好,如近期的"Google的画 ...

  7. 微信小程序 Mustache语法详解

    最近微信小程序非常火,对于前端开发的程序员是个利好的消息,这里主要记录下微信小程序  Mustache语法. 小程序开发的wxml里,用到了Mustache语法.所以,非常有必要把Mustache研究 ...

  8. Vue Mixin 与微信小程序 Mixins 应用

    什么是Mixin(混入) Mixin是一种思想,用来实现代码高度可复用性,可以针对属性复制实现代码复用的想法进行一个扩展,就是混入(mixin).混入并不是复制一个完整的对象,而是从多个对象中复制出任 ...

  9. CentOS 7.3 下部署基于 Node.js的微信小程序商城

    本文档为微信小程序商城NideShop项目的安装部署教程,欢迎star NideShop商城api服务:https://github.com/tumobi/nideshop NideShop微信小程序 ...

随机推荐

  1. vue2 阻止时间冒泡

    click.stop.prevent <div class="content-right" @click.stop.prevent="pay" > ...

  2. 「JavaSE 重新出发」05.03.03 使用反射编写泛型数组代码

    Employee[] a = new Employee[100]; // ... // array is full a = Arrays.copyOf(a, 2 * a.length); 如何编写这样 ...

  3. 2014 Container技术大会:未来Linux Container会是PaaS平台的核心

    不应错过2014 Container技术大会的九大理由. 一.Docker官方人员再次来到北京,首次向中国布道Docker技术.2013年Docker高级软件工程师Jerome Petazzoni,曾 ...

  4. mac 安装卸载python

    第 1 步,删除框架: sudo rm -rf /Library/Frameworks/Python.framework/Versions/x.x第 2步,删除应用目录: sudo rm -rf &q ...

  5. Java Mybatis 缓存介绍

    0 引言 本文主要介绍有关MyBatis的缓存. 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持 1. 一级缓存: 基于PerpetualCache 的 HashMap本 ...

  6. 何为DOM对象

    <html> <head> <title>DOM对象</title> <link href="/Content/Site.css&quo ...

  7. 训练1-H

    小明今年3岁了, 现在他已经能够认识100以内的非负整数, 并且能够进行100以内的非负整数的加法计算. 对于大于等于100的整数, 小明仅保留该数的最后两位进行计算, 如果计算结果大于等于100, ...

  8. 【LibreOJ 6280】 数列分块入门 4 (分块)

    题目:传送门 听说用define会使代码简洁qwq code: //By Menteur_Hxy #include<cstdio> #include<iostream> #in ...

  9. [NOIP 2010] 关押罪犯 (二分+二分图判定 || 并查集)

    题目描述 S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用"怨气值"( ...

  10. assound.conf

    pcm.!dmix {type dmixipc_key 5678293ipc_key_add_uid yesslave {pcm "hw:0,0"period_time 0peri ...