默认情况下,一个组件的wxml中只能有一个slot。需要使用多slot时,可以在组件js中声明启用
需要使用多slot时,可以在组件js中声明启用
具名插槽
此时,可以在这个组件的wxml中使用多个slot,以不同的 name 来区分。
解释 :
在组件的视图模板中可以通过 slot 声明一个插槽的位置,其位置的内容可以由外层组件或者页面定义。
示例:
通过 name 属性可以给 slot 命名。一个视图模板的声明可以包含一个默认 slot 和多个命名 slot。外层组件或页面的元素通过 slot=”name” 的属性声明,可以指定自身的插入点。
示例:
slot指令应用
解释:
在 slot 声明时应用 if 或 for 指令,可以让插槽根据组件数据动态化。
示例:
数据环境
解释:
插入 slot 部分的内容,其数据环境为声明时的环境(也就是调用该组件页的环境)
渲染结果
scoped 插槽
解释:
如果 slot 声明中包含 s-bind 或 1 个以上 var- 数据前缀声明,该 slot 为 scoped slot。scoped slot 具有独立的 数据环境。
scoped slot 通常用于组件的视图部分期望由 外部传入视图结构,渲染过程使用组件内部数据。( 个人理解:有了scope就优先使用组件内部的数据,除非内部没有这个数据,才会使用外部传入的数据。 )
渲染结果:
组件样式
组件的样式,可以在组件的 css 文件中编写,并且只对当前组件内节点生效。使用时,需要注意以下几点:
使用的是qtcreator吧,designer只是画界面的。比如你添加一个button,右键有个slot的选项,点击就会自动生成一个函数,这就是一个槽函数。
或者你自定义一个signal,自定义一个slot函数,使用connect函数将信号和槽连接起来;通过emit
signal,就会调用连接的槽函数了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)