博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Web前端-Vue.js必备框架(四)
阅读量:5012 次
发布时间:2019-06-12

本文共 2618 字,大约阅读时间需要 8 分钟。

image.png

Web前端-Vue.js必备框架(四)

计算属性:

{
{ message.split('').reverse().join('') }}

dashu: "{

{ aaaa}}"

dashu: "{

{ ddd}}"

var vm = new Vue({ el: '#b', data: { aaaa: 'Hello' }, computed: { ddd: function () { return this.message.split('').reverse().join('') } }})

{

{ rMessage() }}

methods: { rMessage: function () { return this.message.split('').reverse().join('') }}

watch回调:

{
{ fullName }}
var vm = new Vue({ el: '#demo', data: { firstName: 'da', lastName: 'shu', fullName: 'da shu' }, watch: { firstName: function (val) { this.fullName = val + ' ' + this.lastName }, lastName: function (val) { this.fullName = this.firstName + ' ' + val } }})
var vm = new Vue({  el: '#demo',  data: {    firstName: 'da',    lastName: 'shu'  },  computed: {    fullName: function () {      return this.firstName + ' ' + this.lastName    }  }})
computed: {  fullName: {    // getter    get: function () {      return this.firstName + ' ' + this.lastName    },    // setter    set: function (newValue) {      var names = newValue.split(' ')      this.firstName = names[0]      this.lastName = names[names.length - 1]    }  }}

数据发生变化,执行异步或开销大的操作:

效果

效果

// 绑定属性
data: { isActive: true, hasError: false}
data: { classObject: { active: true, 'text': false }}

计算属性:

data: { isActive: true, error: null},computed: { classObject: function () { return { active: this.isActive && !this.error, 'text-danger': this.error && this.error.type === 'fatal' } }}
// 数组
data: { activeClass: 'active', errorClass: 'text'}

自定义组件:

Vue.component('my-component', {  template: '

Hi

'})
data: { styleObject: { color: 'red', fontSize: '10px' }}

key的重要:

效果

// 每次渲染key都会被重新渲染

v-ifv-showv-if为销毁和重建,只有为真才渲染,v-show会渲染,频繁切换使用v-show

key:

方法:

push();pop();shift();unshift();splice();sort();reverse();
Vue.set(object, key, value)Vue.set(vm.userProfile, 'age', 27)vm.$set(vm.userProfile, 'age', 27)

效果

事件修饰符:

.stop.prevent.capture.self.once.passive

效果

// 点击事件将只会触发一次 

效果

.enter.tab.delete.esc.space.up.down.left.right
.ctrl.alt.shift.meta.left.right.middle

{

{ message }}

修饰符:

.lazy input事件触发后将输入框的值与数据进行同步
 用户的输入值转为数值类型
过滤输入的首尾空白字符 
Vue.component('blog', {  props: ['title'],  template: '

{
{ title }}

'})

结言

好了,欢迎在留言区留言,与大家分享你的经验和心得。

感谢你学习今天的内容,如果你觉得这篇文章对你有帮助的话,也欢迎把它分享给更多的朋友,感谢。

作者简介

达叔,理工男,简书作者&全栈工程师,感性理性兼备的写作者,个人独立开发者,我相信你也可以!阅读他的文章,会上瘾!,帮你成为更好的自己。长按下方二维码可关注,欢迎分享,置顶尤佳。

努力努力再努力Jeskson

转载于:https://www.cnblogs.com/dashucoding/p/10561734.html

你可能感兴趣的文章
岗顶-一图一世界
查看>>
一步步构造自己的vue2.0+webpack环境
查看>>
分页类
查看>>
Python装饰器的个人小理解
查看>>
为什么百万医疗险越来越多,到底选哪款?
查看>>
如何检测 51单片机IO口的下降沿
查看>>
扫描识别控件Dynamic .NET TWAIN使用教程:如何将事件添加到应用程序中
查看>>
创建和修改主键 (SQL)
查看>>
2018-2019 ICPC, NEERC, Southern Subregional Contest(训练记录)
查看>>
20145233 《信息安全系统设计基础》第7周学习总结
查看>>
linux设备驱动程序第3版学习笔记(例程2--hellop.c)
查看>>
玩转storm
查看>>
第10章 使用Apache服务部署静态网站
查看>>
关于给予webApp框架的开发工具
查看>>
c语言编写的生成泊松分布随机数
查看>>
Maven入门笔记
查看>>
iOS webView的常见属性和方法
查看>>
理解position:relative
查看>>
Codeforces Round #344 (Div. 2) Messager KMP的应用
查看>>
20145308刘昊阳 《Java程序设计》第4周学习总结
查看>>