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


Posted in Javascript onNovember 08, 2019

一. 新建一个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的几个常用选项详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用javascript模仿ie的自动完成类似自动完成功的表单
Dec 12 Javascript
固定表格行列(expression)在IE下适用
Jul 25 Javascript
js中AppendChild与insertBefore的用法详细解析
Dec 16 Javascript
IE中JS跳转丢失referrer问题的2个解决方法
Jul 18 Javascript
JQuery中的html()、text()、val()区别示例介绍
Sep 01 Javascript
深入浅出ES6之let和const命令
Aug 25 Javascript
获取JavaScript异步函数的返回值
Dec 21 Javascript
JS常用正则表达式总结【经典】
May 12 Javascript
vue将时间戳转换成自定义时间格式的方法
Mar 02 Javascript
vuex提交state&amp;&amp;实时监听state数据的改变方法
Sep 16 Javascript
微信小程序 this.triggerEvent()的具体使用
Dec 10 Javascript
jquery实现的放大镜效果示例
Feb 24 jQuery
Vuex中实现数据状态查询与更改
Nov 08 #Javascript
vue实现将数据存入vuex中以及从vuex中取出数据
Nov 08 #Javascript
vue.js的简单自动求和计算实例
Nov 08 #Javascript
vue中get请求如何传递数组参数的方法示例
Nov 08 #Javascript
Vue搭建后台系统需要注意的问题
Nov 08 #Javascript
vue视频播放暂停代码
Nov 08 #Javascript
vue-dplayer 视频播放器实例代码
Nov 08 #Javascript
You might like
php记录代码执行时间(实现代码)
2013/07/05 PHP
使用php判断服务器是否支持Gzip压缩功能
2013/09/24 PHP
php获取数组元素中头一个数组元素值的实现方法
2014/12/20 PHP
PHP浮点比较大小的方法
2016/02/14 PHP
php简单创建zip压缩文件的方法
2016/04/30 PHP
php微信浏览器分享设置以及回调详解
2016/08/01 PHP
php实现的redis缓存类定义与使用方法示例
2017/08/09 PHP
php报错502badgateway解决方法
2019/10/11 PHP
将函数的实际参数转换成数组的方法
2010/01/25 Javascript
javascript中input中readonly和disabled区别介绍
2012/10/23 Javascript
checkbox勾选判断代码分析
2014/06/11 Javascript
javascript实现获取浏览器版本、操作系统类型
2015/01/29 Javascript
Boostrap基础教程之JavaScript插件篇
2016/09/08 Javascript
分享bootstrap学习笔记心得(组件及其属性)
2017/01/11 Javascript
jQuery制作input提示内容(兼容IE8以上)
2017/07/05 jQuery
从零开始最小实现react服务器渲染详解
2018/01/26 Javascript
详解VueJS应用中管理用户权限
2018/02/02 Javascript
javaScript中&quot;==&quot;和&quot;===&quot;的区别详解
2018/03/16 Javascript
对mac下nodejs 更新到最新版本的最新方法(推荐)
2018/05/17 NodeJs
了解ESlint和其相关操作小结
2018/05/21 Javascript
微信小程序实现图片上传功能
2018/05/28 Javascript
python使用nntp读取新闻组内容的方法
2015/05/08 Python
浅谈Scrapy网络爬虫框架的工作原理和数据采集
2019/02/07 Python
Python常见数据类型转换操作示例
2019/05/08 Python
Python Pandas实现数据分组求平均值并填充nan的示例
2019/07/04 Python
Django框架之中间件MiddleWare的实现
2019/12/30 Python
opencv+python实现均值滤波
2020/02/19 Python
李维斯法国官网:Levi’s法国
2019/07/13 全球购物
Groupon法国官方网站:特卖和网上购物高达-70%
2019/09/02 全球购物
制药工程专业个人求职自荐信
2014/01/25 职场文书
机械机修工岗位职责
2014/08/03 职场文书
工作检讨书怎么写
2015/01/23 职场文书
2019最新版试用期劳动合同模板!
2019/07/04 职场文书
解决thinkphp6(tp6)在状态码500下不报错,或者显示错误“Malformed UTF-8 characters”的问题
2021/04/01 PHP
MySQL 分页查询的优化技巧
2021/05/12 MySQL
win11电脑关机鼠标灯还亮怎么解决? win11关机后鼠标灯还亮解决方法
2023/01/09 数码科技