Vue模板语法(一)

1. 模板语法

1.1 插值
1.1.1 文本 {{msg}}
1.1.2 html 使用v-html指令用于输出html代码
1.1.3 属性 HTML属性中的值应使用v-bind指令
1.1.4 表达式 Vue提供了完全的JavaScript表达式支持

插值案例
代码:

	
		
		Vue插值案例
		
	
	
		
  • 文本

    {{msg}}
  • html字符串渲染

  • v-bind属性绑定指令

  • 表达式

    {{str.substr(0,6).toUpperCase()}} {{ number + 1 }} {{ ok ? 'YES' : 'NO' }}
  • 我的Id是js动态生成的

效果
Vue模板语法(一)_第1张图片

1.2 指令

指的是带有“v-”前缀的特殊属性
1.2.1 核心指令 (v-if|v-else|v-else-if)/v-show/v-for/v-bind/v-on/v-model v-if|v-else|v-else-if:根据其后表达式的bool值进行判断是否渲染该元素 他们只能是兄弟元素
v-else-if上一个兄弟元素必须是v-if v-else上一个兄弟元素必须是v-if或者是v-else-if
v-show:与v-if类似,只是会渲染其身后表达式为false的元素,而且会给这样的元素添加css代码:style=“display:none”
v-for:类似JS的遍历, 遍历数组: v-for=“item in items”, items是数组,item为数组中的数组元素
遍历对象: v-for="(value,key,index) in stu", value属性值,key属性名,index下标

Vue指令案例
代码:


	
		
		Vue指令案例
		
	
	
		
  • 分支

    A
    B
    C
    D
    E
  • v-show指令

    出来吧1
    出来吧2
  • v-for指令

    {{item}}~{{index}}

    {{item.id}}~{{item.name}}~{{index}}
  • 动态事件调用

效果
Vue模板语法(一)_第2张图片

过滤器

全局过滤器 Vue.filter(‘filterName’, function (value) { // value 表示要过滤的内容
}); 局部过滤器 new Vue({ filters:{‘filterName’:function(value){}} });
注1:过滤器函数接受表达式的值作为第一个参数 注2:过滤器可以串联 {{ message | filterA | filterB }}
注3:过滤器是JavaScript函数,因此可以接受参数: {{ message | filterA(‘arg1’, arg2) }}

代码:


	
		
		过滤器
		
	
	
		
  • 局部过滤器的注册

    {{msg}}
    {{msg|a}}
    {{javaxl|a}}
  • 局部过滤器的串联

    {{javaxl|a|b}}
  • 全局过滤器的注册

    {{javaxl|c}}

效果
Vue模板语法(一)_第3张图片

4. 计算属性
计算属性可用于快速计算视图(View)中显示的属性。这些计算将被缓存,并且只在需要时更新
computed:{}
5. 监听属性
监听属性 watch,我们可以通过 watch 来响应数据的变化
watch:{}

代码:


	
		
		计算属性监听属性
		
	
	
		
  • 计算属性

    单价: 数量: 总价:{{total}}
  • 监听属性

    km: m:

效果:
Vue模板语法(一)_第4张图片

你可能感兴趣的:(Vue模板语法(一))