Vue组件化开发(第四天(2.组件))

Vue 组件化开发

  • 为了好维护管理和代码的复用,提高开发效率便于协同开发
  • 分类 页面级组件:
    1. 一个页面是一个组件
    2. 将可复用的部分抽离出来
  • 一个自定义标签Vue就会把他看成一个嘴贱 div p span a header …可以给这些标签赋予一定的意义
全局组件
//html 组件名不要用大写,多个单词用’-‘连接(首字母可以大写)
<my-handsome></my-handsome>
//vue
Vue.componnent('my-handsome',{
	template:'<div>{{msg}}</div>'
	data(){
		return {msg:'111'}
	}
})
局部组件
  • 先创建组件,随用注册组件,最后,使用组件。
  • 组件是相互独立的 不能直接跨作用域 实例也是一个组件,组件中拥有生命周期函数
  • 如果组件共用了数据 会导致同时更新
  • 子组件不能直接使用父组件的数据
  • 组件理论上可以无限嵌套
let handsome = {template:'<div>111</div>'}
let vm  = new Vue({
	el:’#app‘,
	components:{
		handsome
	},
	methods:{
	fn(){
			t
		}
	}
})

组件的属性传递

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="#app">
    <child :m="money"></child>
</div>
</body>
<script></script>
<script>
    let vm = new Vue({
        el:'app',
        data:{money:200},
        components:{
            child:{
                props:{//属性名和data中的名字不能相同
                    m:{
                        type:[],//校验属性的类型,如果不带‘:’得到的肯定是字符串类型 :m='1' :m="true"
                        // default:0,//可以给m赋值默认值,如果不传默认值会调用default
                        required:true,//此属性是必循传递的,但是不能和defauld同用
                        validator(val){//第一个参数是当前传递的值,返回true表示通过false就是不通过
                            return val>300//自定义校验器
                        }
                    }, 
                template:'<div>儿子{{m}}</div>'   
                },
            }
        }
    })
</script>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值