当前位置: 首页 > news >正文

永兴集团网站莱芜又出大事

永兴集团网站,莱芜又出大事,外网建筑设计网站,湖北中牛建设有限公司网站渲染作用域​ 插槽内容可以访问到父组件的数据作用域&#xff0c;因为插槽内容本身是在父组件模板中定义的。举例来说&#xff1a; <span>{{ message }}</span> <FancyButton>{{ message }}</FancyButton> 这里的两个 {{ message }} 插值表达式渲染…

渲染作用域​

插槽内容可以访问到父组件的数据作用域,因为插槽内容本身是在父组件模板中定义的。举例来说:

<span>{{ message }}</span>
<FancyButton>{{ message }}</FancyButton>

这里的两个 {{ message }} 插值表达式渲染的内容都是一样的。

插槽内容无法访问子组件的数据。Vue 模板中的表达式只能访问其定义时所处的作用域,这和 JavaScript 的词法作用域规则是一致的。换言之:

父组件模板中的表达式只能访问父组件的作用域;子组件模板中的表达式只能访问子组件的作用域。

默认内容​

在外部没有提供任何内容的情况下,可以为插槽指定默认内容。比如有这样一个 <SubmitButton> 组件:

<button type="submit"><slot></slot>
</button>
<button type="submit"><slot>Submit <!-- 默认内容 --></slot>
</button>

 现在,当我们在父组件中使用 <SubmitButton> 且没有提供任何插槽内容时:

<SubmitButton />

 “Submit”将会被作为默认内容渲染:

<button type="submit">Submit</button>

但如果我们提供了插槽内容:

<SubmitButton>Save</SubmitButton>

那么被显式提供的内容会取代默认内容:

<button type="submit">Save</button>

具名插槽​

有时在一个组件中包含多个插槽出口是很有用的。举例来说,在一个 <BaseLayout> 组件中,有如下模板:

<div class="container"><header><!-- 标题内容放这里 --></header><main><!-- 主要内容放这里 --></main><footer><!-- 底部内容放这里 --></footer>
</div>

对于这种场景,<slot> 元素可以有一个特殊的 attribute name,用来给各个插槽分配唯一的 ID,以确定每一处要渲染的内容:

<div class="container"><header><slot name="header"></slot></header><main><slot></slot></main><footer><slot name="footer"></slot></footer>
</div>

这类带 name 的插槽被称为具名插槽 (named slots)。没有提供 name 的 <slot> 出口会隐式地命名为“default”。

在父组件中使用 <BaseLayout> 时,我们需要一种方式将多个插槽内容传入到各自目标插槽的出口。此时就需要用到具名插槽了:

要为具名插槽传入内容,我们需要使用一个含 v-slot 指令的 <template> 元素,并将目标插槽的名字传给该指令:

<BaseLayout><template v-slot:header><!-- header 插槽的内容放这里 --></template>
</BaseLayout>

动态插槽名​

动态指令参数在 v-slot 上也是有效的,即可以定义下面这样的动态插槽名:

<base-layout><template v-slot:[dynamicSlotName]>...</template><!-- 缩写为 --><template #[dynamicSlotName]>...</template>
</base-layout>

作用域插槽​

在上面的渲染作用域中我们讨论到,插槽的内容无法访问到子组件的状态。

然而在某些场景下插槽的内容可能想要同时使用父组件域内和子组件域内的数据。要做到这一点,我们需要一种方法来让子组件在渲染时将一部分数据提供给插槽。

我们也确实有办法这么做!可以像对组件传递 props 那样,向一个插槽的出口上传递 attributes:

<!-- <MyComponent> 的模板 -->
<div><slot :text="greetingMessage" :count="1"></slot>
</div>
<MyComponent v-slot="slotProps">{{ slotProps.text }} {{ slotProps.count }}
</MyComponent>

http://www.yayakq.cn/news/807601/

相关文章:

  • 网站设计的硬件客厅装修效果图片大全
  • 石碣做网站wordpress收费会员
  • 移动商城网站建设哪个做网站公司好
  • 域名及对应网站商业网点是什么意思
  • 深圳企业高端网站建设下列什么软件不能用于设计网页
  • 青岛制作网站软件怎样查找网站域名
  • 项目外包+网站开发进入百度首页
  • 网站的footer怎么做网站是否有管理员权限
  • 临沂网站优化青海旅游的网站建设
  • dedecms 做影网站天津seo排名收费
  • 要想学做网站上海中心设计公司是谁
  • 南昌seo站外优化网站图片太多怎么优化
  • 泰安网站建设焦点网络大兴建设网站公司
  • 桂园精品网站建设费用兼职网站建设收费
  • 国家住房和城乡建设部中国建造师网站官网河南网站建设电话
  • 专业网站开发培训网站建设 域名业务 邮箱
  • 南和网站建设公司广东深圳网站建设微信商城运营
  • 山东信达建设有限公司网站中国建设部网站首页
  • 网站对齐原则个人介绍的网页设计模板
  • 贪玩手游官方网站seo是什么意思 部门
  • wordpress lightsns商丘网站优化
  • 品牌网站建设大概费用网络营销的方式都有哪些
  • 巴中企业网站建设沈阳和平三好街做网站
  • wordpress 行间距插件英文seo
  • 滨州网站建设项目建设流程
  • 网站制作排序如何做电商步骤
  • 网站外链有多重要杭州建设职业技术学院招聘信息网站
  • 公众号平台登陆seo网络营销招聘
  • 大型茶叶网站建设汽车最专业的网站建设
  • 上海嘉定做网站公司重庆网站建设公司哪家好