2. Vue基础语法
模板语法:
- 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基础语法的更多相关文章
- 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-5 vue基础语法
一.vue基础语法 语法: {{msg}} html赋值: v-html="" 绑定属性: v-bind:id="" 使用表达式: {{ok? "ye ...
- 一、vue基础语法(轻松入门vue)
轻松入门vue系列 Vue基础语法 一.HelloWord 二.MVVM设计思想 三.指令 1. v-cloak 2. v-text 3. v-html 4. v-show 4. v-pre 5. v ...
- Vue基础语法-数据绑定、事件处理和扩展组件等知识详解(案例分析,简单易懂,附源码)
前言: 本篇文章主要讲解了Vue实例对象的创建.常用内置指令的使用.自定义组件的创建.生命周期(钩子函数)等.以及个人的心得体会,汇集成本篇文章,作为自己对Vue基础知识入门级的总结与笔记. 其中介绍 ...
- Vue 1-- ES6 快速入门、vue的基本语法、vue应用示例,vue基础语法
一.ES6快速入门 let和const let ES6新增了let命令,用于声明变量.其用法类似var,但是声明的变量只在let命令所在的代码块内有效. { let x = 10; var y = 2 ...
- Vue(1)- es6的语法、vue的基本语法、vue应用示例,vue基础语法
一.es6的语法 1.let与var的区别 ES6 新增了let命令,用来声明变量.它的用法类似于var(ES5),但是所声明的变量,只在let命令所在的代码块内有效.如下代码: { let a = ...
- 一、vue基础--语法
用到的前台编程工具是Visual Studio Code,暂时是官网下载vue.js到本地使用 一.Visual Studio Code需要安装的插件: jshint :js代码规范检查 Beau ...
- Vue 基础语法入门(转载)
使用vue.js原文介绍:Vue.js是一个构建数据驱动的web界面库.Vue.js的目标是通过尽可能简单的API实现响应式数据绑定和组合的视图组件.vue.js上手非常简单,先看看几个例子: 例一: ...
- Vue基础语法与指令
项目初始化 用vscode打开终端,输入npm init -y生成package.json 然后安装vue npm install vue 需要注意的是,我遇到了这个问题 出现原因:文件夹名和生成的p ...
随机推荐
- Oracle 审计初步使用
新增一个表空间用于存储审计日志 SQL> CREATE tablespace audit_data datafile '/data/oradata/orcl/audit01.dbf' SIZE ...
- 51nod 更难的矩阵取数问题 + 滚动数组优化
这里要求要走到终点再走回来,可以转化为两个人走. 那么我们可以先粗暴的设f[x1][y1][x2][y2]为第一个人走到(x1, y1), 第二个人走到(x2, y2)的最大价值. 那么这样空间会很大 ...
- 【Henu ACM Round #13 E】Spy Syndrome 2
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 对m个串建立一棵字典树. 然后对主串. 尝试从第一个位置开始.在字典树中尝试匹配 如果匹配到了位置i 就再从位置i+1开始尝试匹配 ...
- DataGirdView 常用操作
1.将数据源的某列添加到已有DataGirdView的列 例如:将文件夹下所有文件名添加到DataGirdView 的文件名一列,图片如下: 首先在datagridview把文件名列的DATAPROP ...
- 【POJ 2482】 Stars in Your Window(线段树+离散化+扫描线)
[POJ 2482] Stars in Your Window(线段树+离散化+扫描线) Time Limit: 1000MS Memory Limit: 65536K Total Submiss ...
- xml中控件调用构造方法
系统控件view有三个构造方法,分别如下 public DrawView(Context context) { super(context); } public DrawView(Context co ...
- Android 学习笔记之Bitmap位图的旋转
位图的旋转也可以借助Matrix或者Canvas来实现. 通过postRotate方法设置旋转角度,然后用createBitmap方法创建一个经过旋转处理的Bitmap对象,最后用drawBitmap ...
- centos 6.7下安装rabbitmq 3.6.6过程
准备,请确保有root权限或者sudo权限,不然不用继续看下去了. 1.erland的安装 首先测试一下是否已经安装了erlang,命令 rpm -qa | grep erlang 若没有安装,则 y ...
- C++ 补课(二)
1,如果遇到派生类成员和基类成员的名称冲突的情况,程序会采用派生类成员执行相应的操作.如果需要使用基类中的同名成员,则必须在程序中使用全局分辨符“::” 虚基类 —— 派生类在继承基类时加入“virt ...
- module.exports,exports和export default,export的区别
前提:CommonJS模块规范和ES6模块规范是完全不同的两个概念. module.exports,exports属于CommonJS模块规范: export default,export属于ES6模 ...