投资建设网站一站式服务门户

pingmian/2026/1/21 2:18:09/文章来源:
投资建设网站,一站式服务门户,自己做网站卖衣服,新手做网站的几个必要步骤3.组件插槽 3-1组件插槽 注意 插槽内容可以访问到父组件的数据作用域,因为插槽内容本身就是在父组件模版中定义的 插槽内容无法访问子组件的数据.vue模版中的表达式只能访问其定义时所处的作用域,这和JavaScript的词法作用域是一致的,换言之: 父组件模版的表达式只能访问父组…3.组件插槽 3-1组件插槽 注意 插槽内容可以访问到父组件的数据作用域,因为插槽内容本身就是在父组件模版中定义的 插槽内容无法访问子组件的数据.vue模版中的表达式只能访问其定义时所处的作用域,这和JavaScript的词法作用域是一致的,换言之: 父组件模版的表达式只能访问父组件的作用域,子组件模版中的表达式只能访问子组件的作用域 3-2具名插槽 具名思意:就是给插槽取一个相同的名字,使它到相应的位置 案例 App.vue templatediv!-- 使用具名插槽的使用,使用template进行包裹--!--v-slot:left,记住没有引号--template v-slot:lefti左边/i/template!-- 可以省略写成# --template #centerdiv中间/div/templatetemplatei右边/i/template/div /templateChild.vue templatediv!-- name:是插槽的名字,与父组件的slot要一致 --slot nameleft/slotslot namecenter/slotslot nameright/slot/div /template3-3作用域插槽 在某些场景下,如果想要同时使用父组件和子组件区域内的数据,要做到这一点,就需要让子组件在渲染的时候,把数据提供给插槽,这就是作用域插槽 案例:通过axios获取猫眼的数据 注意点: v-slot“scope” 不能写在Film组件里面,如果写在Film里面就需要删掉template包装元素v-slot“{scope}”:还可以使用对象解析,因为传过来的是一个对象 App.vue(方式一) templateFilmtemplate v-slotscopeulli v-fordata in scope.list :keydata.idimg :srcdata.img stylewidth: 100px; {{ data.nm }}/li /ul/template/Film /templateFilm.vue templatedivul!-- 把数据通过作用域插槽,传到父组件去(可以传多个,传过去的是一个对象--slot :listdataListli v-fordata in dataList :keydata.id{{ data.nm }}/li/slot/ul/div /template script//引入axios模块,需要先下载 npm i axiosimport axios from axios;export defalut{data(){return {dataList:[]}},//钩子函数,mounted,页面一加载就显示数据mounted(){//json文件,记得放在public文件夹下面,否则访问不到axios.get(../../../public/js/hot.json).then(res {console.log(res.data.data.hot);this.dataList res.data.data.hot;})}} /script方式二 具名插槽与作用域联合使用 App.vue Film!-- 具名插槽与作用域插槽联合使用 --!--#Film:就是子组件定义了一个nameFilm --!-- v-slot:Film#Film--!-- template v-slot:Film{list,a} --!-- 使用default默认插槽,则页面显示的是子组件的内容,不再是父组件的内容 --!-- template #default{list,a} --template #Film{list,a}{{ a }}ulli v-fordata in list :keydata.idimg :srcdata.img stylewidth: 100px; {{ data.nm }}/li/ul/template /FilmFilm.vue !-- 还可以使用具名插槽配合作用域插槽一起使用 --slot :listdataList :a1 :b2 nameFilmul li v-fordata in dataList :keydata.id{{ data.nm }}/li/ul/slot4.生命周期 每个Vue组件实例在创建时都需要经历一系列的初始化步骤,比如设置好数据侦听,编译模板,挂载实例到DOM,以及在数据改变时更新DOM.在此过程中,它也会运行被称为生命周期钩子函数,让开发者有机会再特定阶段运行自己的代码 (1) beforeCreate()会在实例初始化完成、props 解析之后、data() 和 computed 等选项处理之前立即调用。(无法访问状态以及methods) (2)created() 当这个钩子被调用时以下内容已经设置完成响应式数据、计算属性、方法和侦听器。然而此时挂载阶段还未开始因此 $el 属性仍不可用。(能访问到初始化,并且能做初始化) (3)beforeMount()当这个钩子被调用时组件已经完成了其响应式状态的设置但还没有创建 DOM 节点。它即将首次执行 DOM 渲染过程。(第一次创建最后能修改状态的地方) (4)mounted()所有同步子组件都已经被挂载。这个钩子通常用于执行需要访问组件所渲染的 DOM 树相关的副作用(挂载dom节点,初始化轮播,Echarts,setInterval,ajax) 只要状态改变,5和6函数就会被调用 (5)beforeUpdate()这个钩子可以用来在 Vue 更新 DOM 之前访问 DOM 状态。在这个钩子中更改状态也是安全的。(能访问到最新的状态,无法访问到更新后的dom) (6)updated()这个钩子会在组件的任意 DOM 更新后被调用这些更新可能是由不同的状态变更导致的。如果你需要在某个特定的状态更改后访问更新后的 DOM请使用 nextTick() 作为替代。(访问到更新之后的dom) (7)beforeUnmount()当这个钩子被调用时组件实例依然还保有全部的功能。 (8)unmounted()在一个组件实例被卸载之后调用。 Echarts案例 npm i echars template!-- 必须要有宽度和高度,否则显示不出来 --divbutton clicksmall小图/buttondiv idmain :stylestyleObj/div/div /template script import * as echarts from echarts; export default {data() {return {styleObj: {width: 600px,height: 400px}}},methods: {small() {this.styleObj.width 400px// this.styleObj.height 100px//----------------方法二,改变大小-----------------// setTimeout(() {// this.myChart.resize() // },0)//----------------方法三.直接使用提供的方法-----------------// 在 Vue 中DOM 更新不是同步的而是异步执行的而 $nextTick 则提供了一种在 DOM 更新后执行代码的方式。this.$nextTick(() {this.myChart.resize()})},},mounted() {// 基于准备好的dom初始化echarts实例this.myChart echarts.init(document.getElementById(main)); // 绘制图表 this.myChart.setOption({title: {text: ECharts 入门示例},tooltip: {},xAxis: {data: [衬衫, 羊毛衫, 雪纺衫, 裤子, 高跟鞋, 袜子]},yAxis: {},series: [{name: 销量,type: bar,data: [5, 20, 36, 10, 10, 20]}] });},updated() {// 改方法是控制点击按钮之后,使值生效// 任何状态更新,都会触发该生命周期函数// this.myChart.resize();}, }/script//----------------跟随窗口,大小随着改变-----------------window.onresize () {this.myChart.resize()}},unmounted() {// 销毁实例window.onresize null}挂载在window上的东西,记得要销毁,使用unmound 5.组件的封装 轮播组件 App.vue templatedivMySwiper v-ifdataList.length eventhandleEvent :loopfalseMySwiperItem v-fordata in dataList :keydata {{ data.nm }}img :srcdata.img alt srcset stylewidth: 600px; height:300px /MySwiperItem/MySwiper{{ info }}/div /template scriptimport MySwiper from ./MySwiper.vue; import MySwiperItem from ./MySwiperItem.vue;import axios from axios; export default {data() {return {dataList: [],info:}},methods: {handleEvent(index) {console.log(index,);this.infothis.dataList[index].videoName}},mounted() {axios.get(../../../public/js/hot.json).then(res {console.log(res.data.data.hot);this.dataList res.data.data.hot;this.infothis.dataList[0].videoName})},components: {MySwiper,MySwiperItem}} /scriptMySwiper.vue template div classswiperdiv classswiper-wrapperslot/slot/div!-- If we need pagination --div classswiper-pagination/div!-- If we need navigation buttons --div classswiper-button-prev/divdiv classswiper-button-next/div/div /template script import Swiper from swiper/bundle; import swiper/css/bundle; export default {props: {loop: {type: Boolean,default: true} },mounted() {var mySwiper new Swiper(.swiper, {loop: this.loop,// If we need paginationpagination: {el: .swiper-pagination,},// Navigation arrowsnavigation: {nextEl: .swiper-button-next,prevEl: .swiper-button-prev,},on:{slideChange: () {console.log(改变了activeIndex为 mySwiper.activeIndex);this.$emit(event,mySwiper.activeIndex)},}, });} } /script style .swiper {width: 600px;height: 300px; } /styleMySwiperItem.vue templatediv classswiper-slideslot/slot/div/template6.自定义指令 6-1指令写法钩子 除了 Vue 内置的一系列指令 (比如 v-model 或 v-show) 之外Vue 还允许你注册自定义的指令 (Custom Directives)。自定义指令主要是为了重用涉及普通元素的底层 DOM 访问的逻辑 全局注册自定义指令 main.js里面 CreateApp(App) //自定义一个颜色的指令,这里写color就可以,使用指令需要加v-,就是v-color .directive(color,{//挂载在mounted上mounted(el){//el是dom节点console.log(el);el.style.backgroundColor red} }) .mount(#app)App.vue(局部注册) templatediv!--方式1--h1 v-colorred /h1!--方式2:动态绑定--h1 v-colormyColor /h1/div /template scriptexport defalut{data(){return {myColor:yellow}}//自定义指令directives:{color:{mounted(el,binding){el.style.backgroundbinding.value},//动态绑定,需要使用更新钩子函数updated(el,binding){el.style.backgroundbinding.value}}}} /script指令可以简写 对于自定义指令来说一个很常见的情况是仅仅需要在 mounted 和 updated 上实现相同的行为除此之外并不需要其他钩子。这种情况下我们可以直接用一个函数来定义指令如下所示 div v-colorcolor/divcolor(el, binding) {el.style.backgroundColor binding.value;},指令钩子 const myDirective {// 在绑定元素的 attribute 前// 或事件监听器应用前调用created(el, binding, vnode, prevVnode) {// 下面会介绍各个参数的细节},// 在元素被插入到 DOM 前调用beforeMount(el, binding, vnode, prevVnode) {},// 在绑定元素的父组件// 及他自己的所有子节点都挂载完成后调用mounted(el, binding, vnode, prevVnode) {},// 绑定元素的父组件更新前调用beforeUpdate(el, binding, vnode, prevVnode) {},// 在绑定元素的父组件// 及他自己的所有子节点都更新后调用updated(el, binding, vnode, prevVnode) {},// 绑定元素的父组件卸载前调用beforeUnmount(el, binding, vnode, prevVnode) {},// 绑定元素的父组件卸载后调用unmounted(el, binding, vnode, prevVnode) {} }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/87312.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站建设是什么职位在线阅读小说网站怎么做

exiftool:查看图片的exif信息。 pngcheck:修复被破坏的png图片 pngtools:深入研究png文件的数据 steganographic:用来提取图片中的隐藏信息 stegsolve.jar:kali中没有该工具,但是可以自己下 gimp:提供了转换各类图像文件可视化数据的功能,还可…

超级网站模板下载阿里企业邮箱手机版

STM32中断EXTI 中断的介绍中断简介中断优先级中断嵌套 STM32中断NVIC介绍作用功能如何分组 EXTI简介EXTI结构EXTI框图 AFIO介绍主要功能和作用: 中断配置步骤 一个中断时的代码初始化两个中断时的代码和错误提示 中断的介绍 中断简介 中断:在主程序运行…

建设网站公司怎么分工wordpress 标题入库

文章目录 一、前言二、自定义脚本三、自定义请求编写(Java Sampler)四、自定义函数五、小结 一、前言 掌握 JMeter 的脚本编写和执行,这基本已满足大部分的性能测试需求,但是面对各种各样的项目技术方案,有些需求是需…

邳州微网站开发成品网站短视频源码搭建免费

背景:linux服务器上有个日志目录,要通过界面访问。之前用Apache实现的,现在安全漏洞检查需要升级Apache,但是安装之路犹如西天取经,各种缺文件,各种报错,一直没搞定。然后决定用tomcat实现该功能…

一张图片做单页网站如何诊断网站为何被降权

今天让我们一起来看看五轴有些什么接地气的玩法:侧刃加工(此图非动图)相较使用刀具底刃加工,利用刀具侧刃加工可以得到更加光滑的加工表面。适用于航空航天工业中复杂型腔工件的精加工。Mastercam提供专用功能可有效防止刀具和零件型腔底部出现过切&…

全国生猪价格适合seo优化的网站制作

如题:下面是某大学数据库的一组需求,此数据库用于记录学生的成绩,这与图1.2所示数据库类似,但并不完全相同。 a. 大学要记录每个学生的姓名、学号、社会保险号、当前地址与电话、永久地址与电话、出生日期、性别、年级&#xff08…

织梦做仿站时 为何会发生本地地址跳转网站地址阿里巴巴中文站官网

很多人说java比php安全,其实这个说法很多人误解,其实安全在于程序的逻辑,代码的严谨,另外就是服务器设置的安全,关于java比php的安全一说,我不同意,java编译的话,现在可以反编译&…

网站页面做沙井做网站的公司

20240123----重返学习-原生js纯函数获取用户电脑上的文件 思路说明 通过外加点击后,通过监听这个DOM元素的change事件,在用户点击之后就能拿到用户电脑上的文件了。通过原生js来动态创建type"file"的input元素,之后给监听该元素的…

网站seo推广怎么做贵阳手机网站制作

运行了三个TSP经典用例,基本符合要求。仅仅是一份按照蚁群算法的原理写的代码,没有做任何优化。 // bigSearch.cpp : 定义控制台应用程序的入口点。 // #include<iostream> #include<math.h> #include<time.h> using namespace std; //该程序是以…

泰安网站建设 九微米杭州市建设银行网站

实际上任何Linux发行版(Centos/RedHat....)&#xff0c;其系统内核都是Linux。我们的应用都需要通过Linux内核与硬件交互。为了避免用户应用导致冲突甚至内核崩溃&#xff0c;用户应用与内核是分离的&#xff1a; 进程的寻址空间会划分为两部分&#xff1a;内核空间、用户空间。…

旅游网站设计代码html免费学ps的网站有哪些

今天推荐一个Python学习的干货。 几个印度小哥&#xff0c;在GitHub上建了一个各种Python算法的新手入门大全&#xff0c;现在标星已经超过2.6万。这个项目主要包括两部分内容&#xff1a;一是各种算法的基本原理讲解&#xff0c;二是各种算法的代码实现。 传送门在此&#x…

猪八戒网站 怎么做兼职网站建设一般的流程

100㎡-400㎡多种类型的办公户型可选 精装全包 拎包入驻 【天府锋巢直播基地】 由德商产投与无锋科技联袂打造 坐落于天府新区核心区域科学城板块 包含电商直播、娱乐直播、跨境直播 多种直播业态的全域直播基地 基地【10层】于12月初全面竣工 招&#xff5c;商 &#xff5c;火&…

海东高端网站建设物联卡官方免费申请入口

原创 哪吒 哪吒编程 2023-09-07 08:03 发表于辽宁 收录于合集#Redis11个 &#xff08;给哪吒编程加星标&#xff0c;提高Java技能&#xff09; 大家好&#xff0c;我是哪吒。 在前几篇文章中&#xff0c;提到了Redis实现排行榜、Redis数据缓存策略&#xff0c;让我们对Redis…

做化工的外贸网站都有什么意思北京有哪些网站建设公司

前往-->按住option键进入资源库-->Developer-->Xcode-->DerivedData 删除里面的文件就行了转载于:https://www.cnblogs.com/10-19-92/p/5181940.html

自贡市建设局网站中国企业名录

我们如果想要将两者不同格式文件进行格式转换&#xff0c;就需要下载安装转换器。如果出门带的设备没有安装转换软件客户端&#xff0c;就无法使用&#xff0c;会比较麻烦。现在有了在线转换工具&#xff0c;只需要打开相应的网页就可使用&#xff0c;那么在线Word转PDF的操作是…

网站建设教程小说青岛建设公司网站费用

一、abort函数 使用abort函数可以立即终止视图函数的执行&#xff0c;并可以返回给前端特定的信息 传递状态码信息&#xff0c;必须是标准的http状态码 abort(403)传递响应体信息 resp Response(“login failed”) abort(resp) from flask import Flask,request,abort,Resp…

企业网站模板下载哪里好苏州市现代建设咨询管理公司

BOM&#xff08;浏览器对象模型&#xff09;&#xff0c;提供了一系列操作浏览器&#xff0c;获取浏览器信息的接口。这些接口在平时的工作中会经常用到&#xff0c;例如当前页面的刷新&#xff0c;获取url的参数等等。 注&#xff1a;图片来自 http://www.dreamdu.com/javascr…

wordpress微信授权登录界面seo系统源码出售

在Java中&#xff0c;与C语言相比&#xff0c;指针的使用是受到限制的。Java的设计初衷是为了提供更高的安全性和可靠性&#xff0c;因此它采用了一些机制来避免常见的指针错误。 具体来说&#xff0c;Java中没有像C语言中那样的显式指针操作。Java中的引用可以看作是一种类似…

有效的网络编址方案有品牌网站建设优化公司哪家好

很不错的CSS透明效果&#xff0c;本实例是用CSS控制外层DIV不透明&#xff0c;而内层DIV透明&#xff0c;这样实现的效果是意想不到的&#xff0c;还不错吧&#xff0c;其实代码也是很简单的&#xff0c;也很好理解&#xff0c;主要是用了CSS的滤镜。 <html xmlns"http…

徐州建站模板丽泽桥网站建设

本文链接&#xff1a;https://blog.csdn.net/junlong750/article/details/50945883转载于:https://www.cnblogs.com/bevis-byf/p/11578724.html