模板语法:

  • Mustache语法: {{}}
  • Html赋值: v-html=""
  • 绑定属性: v-bind:id=""
  • 使用表达式: {{ok?'Yes':'No'}}
  • 文本赋值: v-text=""
  • 指令: v-if=""
  • 过滤器: {{ msg | capitalize }} 和 v-bind:id="rawId | formatId"

Class和Style绑定

  • 对象语法:v-bind:class=“{active:isActive}”
  • 数组语法::class="[class1,class2]"
  • style绑定-对象语法:v-bind:style="{color:activeColor,fontSize:fontSize+'px'}"

条件渲染

  • v-if / v-else / v-else-if DOM是否加载
  • v-show 通过display来设置显示隐藏
  • v-cloak 页面刷新太快,导致有些元素没有加载出来,可以同步去隐藏html代码

vue事件处理器

  • v-on:click="" / @click=""
  • 事件修饰符
    @click.stop 阻止冒泡
    @click.prevent 阻止默认事件
    @click.self 对对象本身绑定函数,里面的子元素不起作用
    @click.once 只给事件绑定一次
    @keyup.enter

Vue组件

  • 全局组件和局部组件
  • 父子组件通讯-数据传递
    父->子:通过Props传递
    子->父:不允许,但vue通过子组件触发Emit来提交给子组件进行触发
  • Slot
import Counter from './conuter' //导入组件

components:{//注册局部组件
Counter //加载组件
} <Counter v-bind:num="num"></Counter><!-- 调用组件 v-bind 绑定动态变量 -->

父组件传递到子组件,使用props

//hello.vue
<template>
// v-bind:子组件的值="父组件的属性"
<Counter v-bind:num="num"></Counter><!-- 调用组件 v-bind 绑定动态变量 -->
<p>父组件:{{num}}</p>
</template>
<script>
import Counter from './conuter' //导入组件
export default {
name: 'HelloWorld',
data () {
return {
num:10,
}
},
components:{//注册局部组件
Counter //加载组件
}
}
</script>
//子组件.vue
<template>
<button @click="decrement">-</button>
<p>子组件:{{num}}</p>
</template>
<script>
export default{
props:['num'],//父组件的数据需要通过 prop 才能下发到子组件中
methods:{
decrement(){
this.num--;
},
}
}
</script>

子组传递到父组件,使用$emit()触发

//hello.vue
<template>
<Counter v-bind:num="num" v-on:dec="decrement"></Counter><!-- dec 自定义事件-->
<p>父组件:{{num}}</p>
</template>
<script>
import Counter from './conuter'
export default {
name: 'HelloWorld',
data () {
return {
num:10,
}
},
components:{//注册局部组件
Counter
},
methods:{
decrement(){
this.num--;
},
}
}
</script>
//子组件.vue
<template>
<button @click="decrement">-</button>
<p>子组件:{{num}}</p>
</template>
<script>
export default{
props:['num'],//父组件的数据需要通过 prop 才能下发到子组件中
methods:{
decrement(){
this.$emit('dec');//子组件往父组件里传数据通过`emit()`触发,通过emit来触发父组件的方法,相当于jquery里的trigger, 复杂项目用Vuex
},
}
}
</script>

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

 
 
 
 

2. Vue基础语法的更多相关文章

  1. python 全栈开发,Day89(sorted面试题,Pycharm配置支持vue语法,Vue基础语法,小清单练习)

    一.sorted面试题 面试题: [11, 33, 4, 2, 11, 4, 9, 2] 去重并保持原来的顺序 答案1: list1 = [11, 33, 4, 2, 11, 4, 9, 2] ret ...

  2. 2-5 vue基础语法

    一.vue基础语法 语法: {{msg}} html赋值: v-html="" 绑定属性: v-bind:id="" 使用表达式: {{ok? "ye ...

  3. 一、vue基础语法(轻松入门vue)

    轻松入门vue系列 Vue基础语法 一.HelloWord 二.MVVM设计思想 三.指令 1. v-cloak 2. v-text 3. v-html 4. v-show 4. v-pre 5. v ...

  4. Vue基础语法-数据绑定、事件处理和扩展组件等知识详解(案例分析,简单易懂,附源码)

    前言: 本篇文章主要讲解了Vue实例对象的创建.常用内置指令的使用.自定义组件的创建.生命周期(钩子函数)等.以及个人的心得体会,汇集成本篇文章,作为自己对Vue基础知识入门级的总结与笔记. 其中介绍 ...

  5. Vue 1-- ES6 快速入门、vue的基本语法、vue应用示例,vue基础语法

    一.ES6快速入门 let和const let ES6新增了let命令,用于声明变量.其用法类似var,但是声明的变量只在let命令所在的代码块内有效. { let x = 10; var y = 2 ...

  6. Vue(1)- es6的语法、vue的基本语法、vue应用示例,vue基础语法

    一.es6的语法 1.let与var的区别 ES6 新增了let命令,用来声明变量.它的用法类似于var(ES5),但是所声明的变量,只在let命令所在的代码块内有效.如下代码: { let a = ...

  7. 一、vue基础--语法

      用到的前台编程工具是Visual Studio Code,暂时是官网下载vue.js到本地使用 一.Visual Studio Code需要安装的插件: jshint :js代码规范检查 Beau ...

  8. Vue 基础语法入门(转载)

    使用vue.js原文介绍:Vue.js是一个构建数据驱动的web界面库.Vue.js的目标是通过尽可能简单的API实现响应式数据绑定和组合的视图组件.vue.js上手非常简单,先看看几个例子: 例一: ...

  9. Vue基础语法与指令

    项目初始化 用vscode打开终端,输入npm init -y生成package.json 然后安装vue npm install vue 需要注意的是,我遇到了这个问题 出现原因:文件夹名和生成的p ...

随机推荐

  1. Oracle 审计初步使用

    新增一个表空间用于存储审计日志 SQL> CREATE tablespace audit_data datafile '/data/oradata/orcl/audit01.dbf' SIZE ...

  2. 51nod 更难的矩阵取数问题 + 滚动数组优化

    这里要求要走到终点再走回来,可以转化为两个人走. 那么我们可以先粗暴的设f[x1][y1][x2][y2]为第一个人走到(x1, y1), 第二个人走到(x2, y2)的最大价值. 那么这样空间会很大 ...

  3. 【Henu ACM Round #13 E】Spy Syndrome 2

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 对m个串建立一棵字典树. 然后对主串. 尝试从第一个位置开始.在字典树中尝试匹配 如果匹配到了位置i 就再从位置i+1开始尝试匹配 ...

  4. DataGirdView 常用操作

    1.将数据源的某列添加到已有DataGirdView的列 例如:将文件夹下所有文件名添加到DataGirdView 的文件名一列,图片如下: 首先在datagridview把文件名列的DATAPROP ...

  5. 【POJ 2482】 Stars in Your Window(线段树+离散化+扫描线)

    [POJ 2482] Stars in Your Window(线段树+离散化+扫描线) Time Limit: 1000MS   Memory Limit: 65536K Total Submiss ...

  6. xml中控件调用构造方法

    系统控件view有三个构造方法,分别如下 public DrawView(Context context) { super(context); } public DrawView(Context co ...

  7. Android 学习笔记之Bitmap位图的旋转

    位图的旋转也可以借助Matrix或者Canvas来实现. 通过postRotate方法设置旋转角度,然后用createBitmap方法创建一个经过旋转处理的Bitmap对象,最后用drawBitmap ...

  8. centos 6.7下安装rabbitmq 3.6.6过程

    准备,请确保有root权限或者sudo权限,不然不用继续看下去了. 1.erland的安装 首先测试一下是否已经安装了erlang,命令 rpm -qa | grep erlang 若没有安装,则 y ...

  9. C++ 补课(二)

    1,如果遇到派生类成员和基类成员的名称冲突的情况,程序会采用派生类成员执行相应的操作.如果需要使用基类中的同名成员,则必须在程序中使用全局分辨符“::” 虚基类 —— 派生类在继承基类时加入“virt ...

  10. module.exports,exports和export default,export的区别

    前提:CommonJS模块规范和ES6模块规范是完全不同的两个概念. module.exports,exports属于CommonJS模块规范: export default,export属于ES6模 ...