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

给个免费的网站好人有好报wordpress快速清除本地图片

给个免费的网站好人有好报,wordpress快速清除本地图片,文档生成器app,电商公司网站文章目录前言组件化开发底部菜单 TabMenu父子组件相互传数据父传子#xff1a;自定义属性子传父#xff1a;自定义事件父子组件互传案例插槽 slot多个插槽总结组件化开发总结Vue组件的基本组成子组件使用的三个步骤父子组件相互传递数据前言 提示#xff1a;这里可以添加本… 文章目录前言组件化开发底部菜单 TabMenu父子组件相互传数据父传子自定义属性子传父自定义事件父子组件互传案例插槽 slot多个插槽总结组件化开发总结Vue组件的基本组成子组件使用的三个步骤父子组件相互传递数据前言 提示这里可以添加本文要记录的大概内容 Vue.js 是一种现代化的前端框架可以用于构建可复用的组件化应用程序。Vue.js 提供了一种基于组件的架构使得开发人员可以将应用程序分解为多个可重用的组件。 Vue.js 组件是一个可复用的代码模块可以在 Vue.js 应用程序中使用。组件包括 HTML 模板、JavaScript 代码和 CSS 样式并且可以包含其他组件。 Vue.js 组件化开发的主要优势包括 模块化Vue.js 组件使得应用程序变得更易于管理和维护可以将应用程序分解为多个小模块每个模块都有自己的功能和样式。 可重用性组件化开发使得开发人员可以编写可重用的代码片段可以在不同的项目中使用并且可以在同一应用程序中多次使用。 维护性组件化开发使得代码更加模块化更易于维护和测试。 性能在 Vue.js 中使用组件可以提高应用程序的性能因为它可以在需要时延迟加载组件。 总之Vue.js 组件化开发是一种高效的方式可以帮助开发人员构建可维护和可重用的应用程序。 提示以下是本篇文章正文内容下面案例可供参考 组件化开发 首先Ctrlc 停止上面项目访问新建一个项目 cd ..返回上一级 接下来就是把【创建Vue-Cli工程】的过程再来一遍 完整过程 新建文件夹【vue create 小写名字】vue create component 。component组件化开发选择最后一个Manually select features空格去掉倒数第三个( * ) Linter / Formatter默认选择3.x选择倒数第二个In package.json不保存 n 出现Successfully代表创建成功 打开项目进行一些默认操作 ①、用脚手架创建项目时把脚手架生成的代码删除掉 ②、删除App.vue内所有代码随后输入vue选择第一个 在template标签中加代码 h1{{ title }}/h1在script标签中的data函数的返回对象加代码 title:我是根组件打开终端输入npm run serve就可以运行了 在components文件夹下新建个子组件TabMenu.vue名字是驼峰式命名 生成基本结构输入vue回车加点代码与样式这里可以随便写主要是展示子组件的使用 现在一个根组件App.vue一个子组件TabMenu.vue运行 那么如何在根组件中使用子组件呢 底部菜单 TabMenu 以App.vue根组件TabMenu.vue子组件为例 导入需要的子组件在script标签内 import TabMenu from /components/TabMenu.vue; //相当于src或者写成 import TabMenu from ../components/TabMenu.vue;当然需要在components 文件夹下新建 TabMenu 视图 详细代码 !-- 定义组件的模板 -- templatediv!-- 底部选项卡 --ul classtab-menu!-- 首页选项 --li clickgotoIndexi classfa fa-home/ip首页/p/li!-- 发现选项 --li clickgotoBusinessi classfa fa-compass/ip发现/p/li!-- 订单选项 --li clickgotoMyOrdersi classfa fa-file-text-o/ip订单/p/li!-- 我的选项 --li clickgotoMyi classfa fa-user-o/ip我的/p/li/ul/div /templatescript // 引入路由 import router from /router;export default {data() {return {}},methods: {// 跳转到首页gotoIndex() {router.push(/)},// 跳转到个人中心gotoMy() {// 判断是否登录let login sessionStorage.getItem(login)if (login null) {// 未登录则跳转到登录页router.push(/login)} else{// 已登录则跳转到个人中心页router.push(/my)}},// 跳转到发现页gotoBusiness() {router.push(/business)},// 跳转到我的订单页gotoMyOrders() {router.push(/myOrders)}},components: {},computed: {},watch: {},mounted() {}, } /scriptstyle scoped/* 底部选项卡样式 */.tab-menu{width: 100vw; /* 设置选项卡宽度为屏幕宽度 */height: 14vw; /* 设置选项卡高度为14vw */background-color: #fff; /* 设置选项卡背景色为白色 */border-top: 0.2vw solid #ddd; /* 设置选项卡上边框为0.2vw宽的灰色实线 */display: flex; /* 设置选项卡为弹性布局 */justify-content: space-around; /* 设置选项卡内子元素沿主轴间距相等 */align-items: center; /* 设置选项卡内子元素沿侧轴居中对齐 */position: fixed; /* 设置选项卡为固定定位 */left: 0; /* 设置选项卡距离左侧为0 */bottom: 0; /* 设置选项卡距离底部为0 */}/* 选项样式 */.tab-menu li{display: flex; /* 设置选项为弹性布局 */flex-direction: column; /* 设置选项内子元素排列方向为垂直方向 */justify-content: center; /* 设置选项内子元素沿主轴居中对齐 */align-items: center; /* 设置选项内子元素沿侧轴居中对齐 */color: #999; /* 设置选项内子元素颜色为灰色 */} /style在 components 的配置项中注册子组件 components: {TabMenu},在template中以标记的语法使用子组件 TabMenu/TabMenu 当然在命令行中运行上这句npm i font-awesome 效果 父子组件相互传数据 在父子组件中如何让他俩可以相互发数据 以App.vue根组件Data.vue子组件为例 父传子自定义属性 先写先接受数据的一方 父给子传数据先给子组件里面增加一个新个配置项props自定义属性的意思 在components文件中新建子组件Data.vuescript标签内 vue生成基本结构后增加props配置项 // 数组形式里面自定义名字props: [test]在template标签内加上插值语法把上面的自定义名字加上去 templatedivh1数据子组件/h1h1这是父组件传递给我的数据{{ test }}/h1/div /template在父组件中再导入该子组件在script标签内 import Data from /components/Data.vue在components的配置项中注册子组件 components: {TabMenu,Data}, //TabMenu是另一个子组件多个子组件用逗号隔开在template中以标记的语法使用子组件 Data/Data父组件App.vue中完整代码 templatedivh1{{ title }}/h1!-- 3.在template中以标记的语法使用子组件 --TabMenu/TabMenuData/Data/div /templatescript // 1.导入需要的子组件 import TabMenu from /components/TabMenu.vue; import Data from /components/Data.vue export default {data () {return {title:我是根组件}},methods: {},//2.在components的配置项中注册子组件components: {TabMenu,Data}, //TabMenu是另一个子组件多个子组件用逗号隔开computed: {},watch: {},mounted () {} } /script style scoped /style输出效果 但是现在里面还没有数据因为在Data.vue中test是自定义属性 接下来在父组件中加入自定义属性 Data test你好啊/Data如果说要在子组件里再定义一个属性父组件再传一个只需要在相应位置加上属性后用逗号隔开即可 子组件中 父组件中 子传父自定义事件 recive()接收子给父传上来的数据有参代表传来的数据 在父组件中 自定义一个事件这里取名abc Data test你好啊 test1世界 abc recive/Data在methods配置项中定义recive()函数方法 methods: {recive(d){// d代表子给父发的数据this.title d //更改title值}},子组件中 在子组件中编写一个函数加入一个事件 给v-model的属性tes在data函数的return里面配置一下 methods内加上send方法 send(){this.$emit(abc,this.text)//this.$emit(在父组件中配置的事件名字,this.发送给父组件的数据)}最后输出 父子组件互传案例 一个App父组件 两个子组件一个添加待办事项组件、一个待办列表组件 如果之前有项目在终端开着先Ctrlc关掉 然后新建一个待办项目vue create todo然后依次回车选择配置选项 然后进入到 todo 项目中删掉HelloWorld.vue文件 和 App.vue中所有代码输入vue重新生成 在components文件夹中创建新子组件AddItem.vue 和 List.vue 在父组件中使用子组件 导入需要的子组件在 components 的配置项中注册子组件在 template 中以标记的语法使用子组件 目前为止父组件中代码 templatedivh1待办事项/h1!-- 3.使用 --AddItem/AddItemList/List/div /templatescript // 1. 导入 import AddItem from /components/AddItem.vue; import List from /components/List.vue; export default {data () {return {}},methods: {},// 2.注册components: {AddItem,List},computed: {},watch: {},mounted () {} } /script style scoped /style接下来先把List待办列表弄出来再写待办事项也就是写个父给子的数据传递 增加自定义的属性使用 v-for 指令对 todolist 进行循环渲染将 todolist 中的每个元素都显示为一个有序列表中的一条{{ item }} 则是将前面 item 变量名插入到模板中进行渲染。 由于本组件需要从父组件中接收一个名为 todolist 的属性所以使用 props 选项来声明了一个具名的 todolist 属性 最后加了点CSS样式 下面是完整的 List.vue 代码 templatedivul!-- 使用 v-for 指令遍历传入的 todolist 数据生成 li 列表项 --li v-for(item, index) in todolist :keyindex{{ item }}/li!-- 2.使用插值语法把上面的自定义名字加上去 --/ul/div /templatescript export default {// 1.定义一个 props 属性接收父组件传递的 todolist 数据 (自定义的属性)props: [todolist] } /scriptstyle scoped /* 为 ul 列表设置样式 */ ul {list-style: none; /* 取消列表项的默认样式 */margin: 0; /* 去除外边距 */padding: 0; /* 去除内边距 */display: flex; /* 将列表项设为弹性项目 */flex-wrap: wrap; /* 当空间不足时自动换行 */ }/* 为 li 列表项设置样式 */ li {font-size: 1.2rem; /* 设置字体大小 */color: #333; /* 设置字体颜色 */background-color: #f5f5f5; /* 设置背景颜色 */border-radius: 5px; /* 设置圆角 */margin: 0.5rem; /* 设置外边距 */padding: 1rem; /* 设置内边距 */box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1), 0 0 12px rgba(0, 0, 0, 0.1); /* 设置阴影 */text-align: center; /* 设置文本居中 */transition: transform 0.2s cubic-bezier(0, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0, 0, 0.2, 1); /* 设置过渡效果 */ }/* 当鼠标悬停在 li 列表项上时的样式 */ li:hover {transform: translateY(-5px);box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2), 0 0 12px rgba(0, 0, 0, 0.2); } /style第一步在父组件data中把待办事项的数据定义出来 data () {return {items: [学习,做事,赚钱]// a.把items数据传给list组件去用用属性todolist去传}},第二步用list组件动态绑定items数据 List :todolistitems/List最后父组件中完整代码 templatedivh1待办事项/h1!-- 3.使用 --AddItem/AddItem!-- b.list组件 加上冒号是动态绑定items数据--List :todolistitems/List/div /templatescript // 1. 导入 import AddItem from /components/AddItem.vue; import List from /components/List.vue; export default {data () {return {items: [学习,做事,赚钱]// a.把items数据传给list组件去用用属性todolist去传}},methods: {},// 2.注册components: {AddItem,List},computed: {},watch: {},mounted () {} } /script style scoped /style现在打开终端进入该项目路径下启动该项目npm run serve 启动后运行 接下来是子给父传数据 第一步加上自定义事件 第二步放在methods接受要带参数 !-- 第一步自定义事件 -- AddItem itemrecive/AddItem ... //中间代码胜率 ...methods: {// 第二步放在methods接受的话要带参数recive(d){this.items.unshift(d) }},父组件中完整代码是 templatedivh1待办事项/h1!-- 3.使用 --!-- 第一步自定义事件 --AddItem itemrecive/AddItem !-- b.list组件 加上冒号是动态绑定items数据--List :todolistitems/List/div /templatescript // 1. 导入 import AddItem from /components/AddItem.vue; import List from /components/List.vue; export default {data () {return {items: [学习,做事,赚钱]// a.把items数据传给list组件去用用属性todolist去传}},methods: {// 第二步放在methods接受的话要带参数recive(d){this.items.unshift(d) }},// 2.注册components: {AddItem,List},computed: {},watch: {},mounted () {} } /script style scoped /style下一步到子组件AddItem.vue里面 1在里面加一个输入框和按钮 input typetext v-modelitembutton clicksend添加/button2data里面配数据 data () {return {item: }},3在methods里把数据发送给父组件 methods: {send(){this.$emit(item,this.item)}},然后在给css内加点样式 最后AddItem.vue完整代码 templatediv classinput-container !-- 输入框容器 --input typetext v-modelitem placeholder输入待办事项 classinput-field !-- 输入框 --button clicksend classadd-btn添加/button !-- 添加按钮 --/div /templatescript export default {data () {return {item: // 输入框绑定的数据}},methods: {send(){this.$emit(item,this.item) // 发出事件传递输入框数据}}, } /scriptstyle scoped .input-container { /* 输入框容器样式 */display: flex; /* flex 布局 */align-items: center; /* 垂直居中 */margin-bottom: 20px; /* 底部外边距 */ }.input-field { /* 输入框样式 */border: none; /* 取消边框 */border-bottom: 2px solid #aaa; /* 底部边框 */padding: 0.5rem; /* 内边距 */margin-right: 1rem; /* 右外边距 */font-size: 1rem; /* 字体大小 */font-family: Arial, sans-serif; /* 字体样式 */width: 300px; /* 宽度 */ }.add-btn { /* 添加按钮样式 */background-color: #20A3FF; /* 背景颜色 */border: none; /* 取消边框 */color: white; /* 字体颜色 */padding: 0.5rem; /* 内边距 */border-radius: 5px; /* 圆角 */cursor: pointer; /* 鼠标样式 */transition: all 0.3s ease; /* 过渡效果 */box-shadow: 0 2px 3px rgba(0, 0, 0, 0.3); /* 阴影 */ }.add-btn:hover { /* 鼠标悬停样式 */background-color: #2186e2;transform: translateY(-2px); /* 上移 */box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3); /* 增加阴影 */ }.input-field:focus { /* 输入框获得焦点时的样式 */outline: none; /* 取消选中时的边框 */border-bottom: 2px solid #2186e2; /* 底部边框颜色更改 */ } /style输出效果 插槽 slot 新建子组件Slot.vue用vue生成格式后在HTML位置输入 templatedivh1我是插槽子组件/h1!-- 插槽位置 --slot/slot/div /template在父组件App.vue中在相应位置进行导入、注册、使用可以新建一个项目看起来更直观 import Slot from /components/Slot.vue;components: {Slot},Sloth1你好/h1!-- 将会显示在子组件的Slot插槽位置上 --/Slot运行项目 多个插槽 通过名字区分 比如在子组件中再加一个slot标签加个名字 slot namea/slot在父组件中加上template v-slot:a Slot!-- 将会显示在子组件的Slot插槽位置上 --h1你好/h1!-- 通过名字单独指令子组件的Slot插槽位置 --template v-slot:ah2hello/h2/template/Slot另外在 css 位置加了点样式可以忽略 总结 组件化开发总结 Vue组件的基本组成 template——模版 html代码script——脚本 vue配置对象中的各种配置项style——样式 css代码 子组件使用的三个步骤 在父组件中导入所需子组件在父组件的配置对象中的components配置项中注册子组件在父组件的template中以标记的语法使用子组件 父子组件相互传递数据 父传子 a.在子组件配置对象中增加props配置项(自定义属性) b.在父组件使用子组件时通过自定义的属性名传数据 子传父 a.在父组件中增加自定义事件并编写接受数据的方法 【item“recive”】 b.在子组件中增加一个发送数据的方法调用this.$emit(‘自定义的事件名’,发送的数据) 那么如何在根组件中使用子组件呢 以App.vue根组件TabMenu.vue子组件为例 导入需要的子组件在script标签内 import TabMenu from /components/TabMenu.vue; //相当于src在components的配置项中注册子组件 components: {TabMenu},在template中以标记的语法使用子组件 TabMenu/TabMenu
http://www.pierceye.com/news/122074/

相关文章:

  • 网页设计与网站开发pdf备案网站可以做接码平台么
  • 国外网站国内备案南京网站seo优化公司
  • 岱山县网站建设网站后台管理系统怎么上传
  • 做网站需要什么东西重庆市招投标网官网
  • 潢川手机网站建设戴尔公司网站开发的经营目标
  • 创建网站代码是什么问题wordpress屏蔽广告插件下载
  • 网站接入服务提供商纪检网站建设计划
  • 佛山做网站公司有哪些做拆分盘网站
  • 沈阳做微网站注册一个有限公司需要多少钱
  • 网站首页logo怎么修改优化方案英语答案
  • 东南亚网站建设市场用照片做视频的模板下载网站
  • 做seo网站的公司2网站建设公司
  • phpmysql旅游网站开发wordpress 需要多大数据库
  • 做预算查市场价格的网站阿里巴巴旗下跨境电商平台有哪些
  • 搜狗网站提交入口有哪些做问卷调查赚钱的网站6
  • 上海市住房和城乡建设厅官方网站码上游二维码制作
  • wordpress生活插件上海做网站优化
  • 长武网站建设做网站吉林
  • 定制做网站技术建网站不做广告怎么赚钱
  • 南宁市做网站的公司yellow的视频播放
  • 网络营销的效果是什么杭州seo网站建设
  • 南沙免费网站建设阿里巴巴网站工作流程
  • 东莞公司网站建设河南省专业做网站公司
  • 兰州彩票网站制作安阳区号是什么
  • 企业形象网站解决方案传统企业如果建立网站
  • 个人网站主页模板如何开一家网络营销公司
  • 网络管理系统密码吴中seo页面优化推广
  • 手绘风格的网站上海做网站cnsosu
  • 怎么做一个免费网站网站app的作用
  • iis 搭建网站品牌建设经验做法