Vue——API vue实例选项一(2.x)

本文详细介绍了Vue实例的五个关键选项:props用于接收父组件传递的数据,data用于定义组件状态并转为响应式,computed处理计算属性,methods定义方法,watch用于监听数据变化并执行回调。这些选项构成了Vue组件的核心功能,帮助开发者构建复杂的单向数据流应用。
摘要由CSDN通过智能技术生成

Vue实例的选项很丰富,包含多种不同的功能特性:组件选项皆为可选

1,选项/数据:props, data, computed, methods, watch, propsData

a, data(数据选项):用来定义组件自身的状态;可用于自身模板中,各种方法中,计算属性,以及一些可以访问实例的生命周期钩子函数中,监视器中;可用于通过attributes传递给子组件;会将数据选项对象属性递归转为响应式属性;这样数据的改变会触发通知以更新视图(Vue的数据变更队列是异步的,响应式负责通知,而更新视图的行为是另一个任务);

data的用法:data: Function | Object; 可以是个函数(当实例是数组时,要求data必须是个函数,当它是个函数时,把返回的值作为实例$data属性,并将返回的对象属性转为响应式属性);可以是个对象; data的属性也将混入到实例中成为实例的属性(不包括嵌套);

//数据选项的使用
var component = {
    tamplate: '<div><button @click="reverse">click</button><input :value="value" :type="type"/></div>',
    data: function(){ //必须是函数
        return {test: 'test', terminal: 'terminal', initVal: this.value}; 
        //this.value from props
    },
    props: ['value', 'type'], //value from parent component;
    computed: {
        mer: function(vm){
            vm.test + ' ' + this.terminal; //参数vm是组件实例;在属性方法中可以使用this指向实例
        }
    },
    mathods: {
        reverse: function(){//方法没有若要使用实例,必须不能是个箭头函数
            this.test = this.test.split('').reverse().join('');
        }
    },
    watch:{
        mer: function(newVal, oldVal){
            
        }
    }
};

b, props(props选项): 用来接收父组件向下传递的数据(这是通过组件的attributes向组件内部传递数据;在组件实例化,会在初始渲染时,从attrs找到props的键值并组成propsData选项对象,propsData会用于props的初始);Vue的设计思想是父组件向子组件单向传递数据,但不允许子组件直接更改父组件的状态,所以强烈建议不要修改来自父组件的状态;这样可以防止以外修改父组建的状态,父组件因状态的更改重新渲染虚拟dom树以及更新DOM元素,也会更新子组件;若修改父组件传递过来的数据,可以props的属性值作为data的属性的初始值,然后转为对组件自身data的修改;

props的用法:props:Array<String> | Object; 可以是个props property名字的列表['value', 'type', 'class',...];可以是个对象{value: Number, type: String, class: String}或者这样的对象{value: {type:Number, default: 0, required: true, validator: function(val){return val > 0;}},   type: {type: String, default: 'text'},   class: String};父组件给出的Attributes没有出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值