Vue的函数化组件

函数化组件

Vue.js提供了一个 functional 的布尔值选项,设置为true可以使组件无状态和无实例,也就是没有 datathis上下文。

好处:只是一个函数,渲染开销要小很多。

使用函数化组件时,Render 函数提供了第二个参数 context 来提供临时上下文。 组件需要的datapropsslotschidrenparent 都是通过这个上下文来传递的。

------- 这里插一段createElement的用法 ------

createElement(
	// {String | Object | Function}
	// 一个 HTML 标签,组件选项,或是一个函数
	// 必须 Return 上述其中一个
	'div',
	// {Object}
	// 一个对应属性的数据对象,可选
	{
   
		//	比如:
		// attrs: {} 正常的HTML特性
		// props: {} 组件props
		// domProps: {} DOM属性
		// on: {} 自定义事件监听器“on”
	},
	// {String | Array}
	[
		createElement('h1', 'hello world'),
		createElement(MyComponent, {
   
			props: {
   
				someProps: 'foo'
			}
		})
	]
)

------------- 分割线 -------------

函数化组件实例:

<div id='app'>
	<smart-item :data="data"></smart-item>
	<button @click="change('img')">切换为图片组件</button>
	<button 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值