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指令案例
		
	
	
		
  • 分支

    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张图片

你可能感兴趣的:(java)