幽灵资源网 Design By www.bzswh.com
一. 新建一个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的几个常用选项详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
标签:
Vue,对象参数,options
幽灵资源网 Design By www.bzswh.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
幽灵资源网 Design By www.bzswh.com
暂无评论...