Vue.js第四天学习笔记(组件)
爱喝酸奶的吃货 人气:0在这篇文章之前小颖分享过小颖自己写的组件:Vue.js组件tabs实现选项卡切换效果和Tree升级版(实现省市多级联动)
先给大家看下小颖写了一个简单的组件示例:
组件:
<template> <div class='content' v-if='showFlag'> <input type="text" v-bind:style='{ width:compwidth+"px"}' v-model='compvalue' @keyup='myFun' v-el:getvalue> <label class='example-label'>观察参数"compvalue"的变化:</label>{{compvalue}} <button class='btn btn-danger' @click='compfun'>确定</button> </div> </template> <script> export default { // 从父组件接收收据 props:{ compvalue:{ type:String,//类型(原生构造器:String, Number, Boolean, Function, Object, Array),如果绑定类型不对将抛出一条警告 required: true, //是否是必须项 twoWay:true,//指定这个 prop 为双向绑定,如果没有 'sync' 将抛出一条警告 default:'',//默认值 }, compwidth:{ coerce: function (val) { return val + '' // 将值转换为字符串 } }, compfun:{ type:Function, required:true } }, ready: function() {}, computed:{},//计算属性 methods: {//组件自身的方法 myFun:function(){ alert( this.$els.getvalue.value); } }, data() {//绑定数据 return { showFlag:true, } } } </script>
调用组件:
<template> <div class='example-content'> <compexample :compvalue.sync='values' :compfun='compFun'></compexample> </div> </template> <script> import compexample from './componentExample.vue'//引入组件 export default { components: { compexample }, ready: function() { }, methods: { compFun:function(){ alert('喵嘞个咪'); } }, data() { return { values:'hello' } } } </script>
在小颖写的组件中,小颖把创建组件时,组件的大部分属性都加了相应注释,大家看了要是还有什么疑问,可以留言哦.
下面看写调用组件后的效果图吧:
加载全部内容