博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue之侦听属性
阅读量:3964 次
发布时间:2019-05-24

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

8、侦听属性

当你有一些数据需要随着其它数据变动而变动时,可以使用侦听属性

例1:

data: {    firstName: '道格拉斯',    lastName: '狗剩'    fullName: '道格拉斯 狗剩' },watch: {    firstName(val){        console.log('firstName changed...')        this.fullName = val + ' ' + this.lastName    },​    lastName(val){        console.log('lastName changed...')        this.fullName = this.firstName + ' ' + val    }} {
{fullName}}

例2:

实际上,上一个例子是对 watch 的滥用。我们完全可以用计算属性更高效的完成同样的操作

data: {    firstName: '道格拉斯',    lastName: '狗剩'    // fullName: 'Foo Bar' //既然fullName需要被计算,那么将此属性放在计算属性中},computed: {    fullName () {        return this.firstName + ' ' + this.lastName    }}

例3:

Ask a yes/no question:

{

{ answer }}

var app = new Vue({ el: '#app', data: { question: '', answer: '请提问!' }, methods: { getAnswer: function () {​ this.answer = '我想想...' var vm = this $.ajax({ url: 'https://yesno.wtf/api', type: 'get', success(data) { // console.log(this); vm.answer = data.answer }, error (error) { vm.answer = '网找不到API接口. ' + error } }) } }})

使用watch:

当需要在数据变化时执行异步或开销较大的操作时,这个方式是最有用的。

watch: {    // 如果 `question` 发生改变,这个函数就会运行    question: function (newQuestion, oldQuestion) {        this.answer = '等待您停止输入...'        this.getAnswer()    }}

转载地址:http://syzki.baihongyu.com/

你可能感兴趣的文章
异常处理
查看>>
存储过程
查看>>
动态SQL(Dynamic SQL)
查看>>
在存储过程之间传递数据
查看>>
迁移存储过程
查看>>
GET DIAGNOSTIC 语句
查看>>
Python 简介
查看>>
Python 注释
查看>>
Python 变量
查看>>
Python 数据类型 -- 数字
查看>>
Spring 管理对象
查看>>
Spring 自定义对象初始化及销毁
查看>>
Spring Batch 环境设置
查看>>
字符组转译序列
查看>>
字符转译序列
查看>>
Java 数据类型
查看>>
UTF-16 编码简介
查看>>
Java 变量名
查看>>
Java 四舍五入运算
查看>>
Spring Batch 例子: 运行系统命令
查看>>