在移动开发中,几乎每个页面都有导航栏,导航栏必然会封装成一个插件,比如nav-bar组件。
一旦有了这个组件,我们就可以在多个页面中进行复用。
如何去封装这类组件呢? 他们有很多区别,但也有很多共性。我们单独去封装一个组件,显然不合适:比如每个页面都有返回,这部分内容我们就要重复去封装。但是,如果我们封装成一个,好像也不合理:有些是左侧菜单,有些是返回,有些中间是搜索,有些是文字,等等。 抽取共性,保留不同。 最好的方法就是将共性抽取到组件中,将不同爆露为插槽。一旦我们预留了插槽,就可以让使用者根据自己的的需求,决定插槽中的内容。是搜索框还是文字,还是菜单,由调用者自己来决定. 实例 需求:我想在第三个组件中添加一个按钮.
我是组件
我是组件,哈哈哈
运行截图
引入插槽显然不符合我的预期,所以我们需要定义插槽
我是插入的sapn标签
我是插入的i标签
我是组件
我是组件,哈哈哈
运行截图
插槽的默认值这次用了插槽,我就可以在组件中插入不同的DOM元素,实现了我的需求
我是组件
我是组件,哈哈哈
如果要在插槽里显示多个值,同时放入组件中进行替换,一起作为替换元素.当没有给插槽指定显示元素时,会显示默认值,也就是上面的button按钮
我是插入的i标签(一)
我是插入的h1标签(二)
我是插入的i标签(三)
我是组件
我是组件,哈哈哈
运行截图
具名插槽slot可以看到全部替换了
使用name
属性来对插槽进行区别.(和css里的类名差不多)
标题
左边
中间
右边
运行截图
只对中间插槽进行了替换
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)