温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Vue实例的对象参数options的几个常用选项详解

发布时间:2020-09-06 13:36:13 来源:脚本之家 阅读:216 作者:加油加油加油啊 栏目:web开发

一. 新建一个Vue实例可以有下列两种方式:

1.new一个实例

var app= new Vue({
 el:'#todo-app', // 挂载元素
 data:{ // 在.vue组件中data是一个函数,要写成data () {}这种方式
  items:['item 1','item 2','item 3'],
  todo:''
 },
 methods:{ // 方法成员
  rm:function(i){
   this.items.splice(i,1)
  }
 }
})
// 之后再

export default app // 默认输出,可在其他组件引用

2. 直接

export default {
 name: '',
 components: {},
 data: () {}, // data函数成员
 watch: {}, // watch监视成员
 computed: {}, // computed计算成员
 created: function () {},
 methods: {}, // methods对象成员
 actions: {}
}

二. Vue实例,我参数options。它是一个对象。可以选择如下选项:

data函数成员

methods对象成员

模板template

挂载元素el

生命周期钩子

props属性声明

computed计算成员

watch监视成员

选项:watch监视

watch监视是一个对象,键是需要观察的表达式,值可以是

1.回调函数,

2.值也可以是方法名,

3.或者包含选项的对象。

ps:表达式暂时可以理解为一个可以得到值的式子

Ⅰ回调函数,来监视一个值的变化(监视data函数体的变量)

如:

 data () {
  return {
   replaceList: []
  }
 },
 watch: {
  replaceList: function (val, oldVal) {
   console.log('replaceList changed')
  }
 }

Ⅱ第2种形式:”值也可以是方法名“,可以把watch的函数移到methods内。

则上面的形式可以改为:

 data () {
  return {
   replaceList: []
  }
 },
 watch: {
  replaceList: 'changed'
 },
 methods: {
  changed: function (val, oldVal) {
   console.log('replaceList changed')
  }
 }

Ⅲ包含选项的对象

如:上面两种就等同于

 data () {
  rerurn {
   replaceList: 1
  }
 },
 mounted: function () {
  this.$watch('replaceList',function(val, oldVal){
    console.log('replaceList changed')
  })
 },
 methods: {
 
 }

选项:computed计算成员

虽然在Mustache语法内可以使用表达式,即{{}}。比如为数字前加入¥符号,可以使用表达式:

{{‘¥'+money}}

可以,但不推荐。这种情形应尽量用计算成员:

在vue-cli脚手架的.vue组件中

实现RMB前加上美元符号

<template>
 <input v-model="money"> // 响应式的
 <span>{{RMB}}</span> // {{}}中可以是变量,也可以是方法名
</template>
 
<script>
 data () {
  rerurn {}
 },
 computed: {
  RMB: function () {
   return '¥'+ this.money
  }
 }
</script>

引入了计算成员RMB来做长表达式的计算,而在HTML内保持清晰的字段引用即可。这样做依然可以享有响应式编程的好处:当money值改变时,引用RMB的标签值也会被自动更新。

以上这篇Vue实例的对象参数options的几个常用选项详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持亿速云。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI