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

石家庄电子商务网站建设网站功能建设与栏目划分

石家庄电子商务网站建设,网站功能建设与栏目划分,怎么入侵网站后台管理,大连网站建设求职简历VNode 钩子在每个组件或html标签上#xff0c;我们可以使用一些特殊的#xff08;文档没写的#xff09;钩子作为事件监听器。这些钩子有#xff1a;onVnodeBeforeMountonVnodeMountedonVnodeBeforeUpdateonVnodeUpdatedonVnodeBeforeUnmountonVnodeUnmounted我主要是在组件…VNode 钩子在每个组件或html标签上我们可以使用一些特殊的文档没写的钩子作为事件监听器。这些钩子有onVnodeBeforeMountonVnodeMountedonVnodeBeforeUpdateonVnodeUpdatedonVnodeBeforeUnmountonVnodeUnmounted我主要是在组件上使用onVnodeMounted当需要在组件挂载时执行一些代码或者在更新时使用onVnodeUpdated进行调试可以确定的是所有这些钩子都能在某些情况下派上用场。例子scriptsetupimport { ref } fromvueconst count ref(0)functiononMyComponentMounted() {}functiondivThatDisplaysCountWasUpdated() {} /scripttemplateMyComponent vnodeMountedonMyComponentMounted /div vnodeUpdateddivThatDisplaysCountWasUpdated{{ count }}/div/template应该注意的是这些挂钩将一些参数传递给回调函数。它们只传递一个参数即当前 VNode除了onVnodeBeforeUpdate传递onVnodeUpdated两个参数当前 VNode 和前一个 VNode。调试挂钩我们都知道 Vue 为我们提供的生命周期钩子。但是您知道 Vue 3 为我们提供了两个可用于调试目的的钩子吗他们是onRenderTrackedonRenderTriggeredonRenderTracked为已跟踪的每个反应性依赖项调用。scriptsetupimport { ref, onRenderTracked } fromvueconst count ref(0) const count2 ref(0)// It will be called twice, once for count and once for count2 onRenderTracked((event) {console.log(event) }) /scriptonRenderTriggered当我们触发反应性更新时被调用或者如文档所说“当反应性依赖触发组件的渲染效果重新运行时”。scriptsetupimport { ref, onRenderTriggered } fromvueconst count ref(0)// It will be called when we update count onRenderTriggered((event) {debugger }) /script从子组件公开插槽如果您使用第三方组件您可能会将其实现包装在您自己的“包装器”组件中。这是一个很好的实践和可扩展的解决方案但那样的话第三方组件的插槽就会丢失我们应该找到一种方法将它们暴露给父组件WrapperComponent.vuetemplatedivclasswrapper-of-third-party-componentThirdPartyComponentv-bind$attrs!-- Expose the slots of the third-party component --templatev-for(_, name) in $slots #[name]slotDataslot:namenamev-bindslotData || {}/slot/template/ThirdPartyComponent/div/template现在每个使用的组件都WrapperComponent可以使用ThirdPartyComponent的插槽。作用域样式和多根节点不能很好地协同工作在 Vue 3 中我们终于可以拥有不止“一个根节点”的组件。这很好但我个人在这样做时遇到了设计限制。假设我们有一个子组件templatepclassmy-pFirst p/ppclassmy-pSecond p/p/template和一个父组件templateh1My awesome component/h1MyChildComponent //templatestylescoped // There is no way to style the p tags of MyChildComponent .my-p { color: red; } :deep(.my-p) { color: red; } /style无法从多根父组件的作用域样式设置子组件的 p 标签的样式。所以简而言之一个多根组件不能使用作用域样式来定位多根子组件的样式。解决这个问题的最好方法是包装父组件或子组件或两者这样我们就只有一个根元素。但是如果你绝对需要两者都有多根节点你可以使用非作用域样式style.my-p { color: red; } /style使用 css 模块templateh1My awesome component/h1MyChildComponent:class$style.trick //templatestylemodule.trick {color: red; } /style既然我们在这里指定了一个类那么多根子组件就得显式指定属性 fallthrough 行为。如果你想要我的意见除非你绝对需要一个多根节点组件否则请使用单个根节点并且根本不要处理这个设计限制。使用 CSS 选择器时要小心#main-nav li {}将比 . 慢很多倍.my-li { color: red }。从文档由于浏览器呈现各种 CSS 选择器的方式p { color: red } 在范围内即与属性选择器结合使用时会慢很多倍。如果您改用类或 ID例如在 .example { color: red } 中那么您几乎可以消除性能损失。如果您想更深入地研究这个主题我强烈建议您阅读Efficiently Rendering CSS 。布尔转换在 Vue 2 或 Vue 3 的早期版本中对于具有布尔类型的道具我们根据顺序有不同的行为第一种情况props: {hoverColor: [String, Boolean] // - defaults to }第二种情况props: {hoverColor: [Boolean, String] //-defaultstofalse }不仅如此如果你像这样传递 propmy-componenthover-color/my-component在第一种情况下它将是一个空字符串。在第二种情况下它将是true.如您所见这有点混乱和不一致。幸运的是在 Vue 3 中我们有一个一致且可预测的新行为Boolean无论类型出现顺序如何行为都将适用。所以hoverColor: [String, Boolean] // - defaults to falsehoverColor: [Boolean, String] // - defaults to falsehoverColor: [Boolean, Number] // - defaults to false带有 v-for 的模板引用 - 不能保证顺序记住这个这样你就不会浪费数小时的调试时间来弄清楚发生了什么在下面的代码中scriptsetupimport { ref } fromvue;const list ref([1, 2, 3]); const itemRefs ref([]); /scripttemplateulliv-foritem in listrefitemRefs:keyitem{{ item }}/li/ul/template我们在列表数组上循环并创建 itemRefs 数组。itemRefs不保证与列表数组有相同的顺序。如果你想了解更多这方面的信息你可以阅读这个issue。
http://www.hkea.cn/news/14457916/

相关文章:

  • 网站备案 2016旅游网页图片
  • 常用的广州网站建设系统门户
  • php网站开发综合案例苏州做网站外包的公司
  • 微信运营有前途吗宁波做网站seo的
  • 论坛网站怎么做跳转如何联系百度推广
  • 赣州网站网站建设中国最厉害的建筑公司
  • 北京网站建设公司费用电子商务运营网站
  • 深圳网站建设可以吗七牛wordpress后台无法登录
  • 滁州市网站建设科技公司网站开发保密合同
  • 两屏合一网站建设手机网站做指向
  • wap网站用什么服务器小程序源码使用教程
  • 营销型网站建设的利与弊临沂做网站需要多少钱
  • 徐州云龙城乡建设局网站易企cms网站模板
  • 洛阳建站洛阳市网站建设旅行社酒店分销平台
  • 做网站深圳学做网站论坛vip学员码
  • 制作网站公司谁家好平台公司信用评级
  • 如何快速建立一个网站陕西省建设厅证网站号多少
  • 网站seo去哪个网站找好做电商网站需要会些什么条件
  • 金色金融公司网站源码低价网站建设为您公司省去了什么
  • 检查部门网站建设有限公司和有限责任的区别在哪里
  • 网站301跳转代码凡科能上传自己做的网站
  • 编译django做的网站南昌是哪个省
  • 西宁商城网站建设公司企业门户网站模板分享
  • 睢宁建网站常平做网站公司
  • 个人空间网站模板狮岭做网站
  • 网站建设需要个体营业执照广州网站建设八爪鱼
  • 在线域名查询网站wordpress 下载站模板
  • 临沂企业网站建设公司推广引流方案
  • 我也来做外国网站购物苏州制作网站哪家好
  • 烟台正规网站建设只有asp网站代码可以重新编译吗