vue中如何判断请求状态码(关于VUE的编译作用域及slot作用域插槽问题)
vue中如何判断请求状态码
关于VUE的编译作用域及slot作用域插槽问题什么是插槽?插槽的指令为v-slot,它目前取代了slot和slot-scope,插槽内容,vue实例一套内容分发的api,将slot元素作为承载分发内容的出口。
插槽分为单个插槽,具名插槽,还有作用域插槽,前两种比较简单这里就不赘述了,今天的重点是讨论作用域插槽。
简单来说,前两种插槽的内容和样式皆由父组件决定,也就是说显示什么内容和怎样显示都由父组件决定;
作用域插槽的样式由父组件决定,内容却由子组件控制。简单来说:前两种插槽不能绑定数据,作用域插槽是一个带绑定数据的插槽。
下面给大家介绍VUE的编译作用域及slot作用域插槽问题,一起看看吧!
其实就是 如果有很多个组件 ,当你在组件 使用变量的时候 ,那么你变量的作用域其实就也是在他定义的代码中找,如果没找到,那么就报错,【这个很基础的 是人都看出的】
官方说:父组件模板的所有东西都会在父级作用域内编译;子 组件模板的所有东西都会在子级作用域内编译。
下面例子完美说明了:
作用域插槽是slot一个比较难理解的点这里需要细心理解:
我现在说下软件需求目标:
子组件中有一组数据:比如:pLanguages: ['JavaScript', 'Python', 'Swift', 'Go', 'C++'],我要他在子组件的插槽中 ,有的用列表显示,有的用 - 链接、有的用 * 链接。
先看源代码(未使用插槽,写死的,在这个代码中改写 使用插槽作用域):
源代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>购物车</title> <script src="js/vue.js"></script> </head> <body> <!-- 未使用插槽 下面模板是写死的 --> <template id="cpn"> <li> <ul> <li v-for=" item in pLanguages">{{item}}</li> </ul> </li> </template> <li id="app"> <cpn></cpn> </li> <script> const app = new Vue({ el: "#app", components: { 'cpn': { template: "#cpn", data() { return { pLanguages: ['JavaScript', 'Python', 'Swift', 'Go', 'C++'] } } } } }) </script> </body> </html>
那么如果用插槽:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>购物车</title> <script src="js/vue.js"></script> </head> <body> <!-- 使用 了 插槽 且 下面设置了 插槽slot 默认值 --> <template id="cpn"> <li> <slot> <!-- 已改动 --> <ul> <li v-for=" item in pLanguages">{{item}}</li> </ul> </slot> </li> </template> <li id="app"> <cpn></cpn> <!-- 使用默认值 列表的形式 --> <cpn> <!-- 已改动 --> <!-- 问题就在这里 我想要以 - 链接的方式展现cpn组件中data中的数据,我无法获取, 因为作用域,这里的作用域是Vue实例app的! 只能获取到Vue实例app的data! 所以 下面这句代码是错的!!! 所以怎么解决插槽代码获取子组件中的data呢? --> <span v-for="item in pLanguages">{{item + "-"}}</span> </cpn> </li> <script> const app = new Vue({ el: "#app", components: { 'cpn': { template: "#cpn", data() { return { pLanguages: ['JavaScript', 'Python', 'Swift', 'Go', 'C++'] } } } } }) </script> </body> </html>
代码已经在里面很详细的说明了,问题也标注出来了,简而言之:
因为不在子组件的作用域,怎么解决插槽代码获取子组件中的data呢?
解决方案: 利用slot作用域插槽
到此这篇关于VUE 的 编译作用域 以及 slot作用域插槽的文章就介绍到这了,更多相关vue作用域插槽内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
- dockernginx服务器教程(Docker镜像+nginx 部署 vue 项目的方法)
- vue怎么实现拖动(Vue拖动截图功能的简单实现方法)
- vue集成文件上传插件(vue 实现上传组件)
- vue项目做过哪些打包优化(Vue项目优化的一些实战策略)
- vuefor指令使用教程(Vue必学知识点之forEach的使用)
- vue 底层原理(浅谈Vue插槽实现原理)
- vue单元测试实例(Vue-Jest 自动化测试基础配置详解)
- vue3函数详解(手把手教你用vue3开发一个打砖块小游戏)
- vue-cli4开发多页面应用(深入理解Vue-cli4路由配置)
- vue界面自动生成(Vue中实现3D标签云的详细代码)
- vue实现添加一段代码功能(Vue实现动态查询规则生成组件)
- vue创建项目同时引入elementui(Vue Element前端应用开发之开发环境的准备工作)
- vue自定义列组件(vue自定义表格列的实现过程记录)
- vue组件滚动加载教程(Vue组件封装上传图片和视频的示例代码)
- vue自定义组件修饰符(Vue自定义组件使用事件修饰符的踩坑记录)
- vue 排班安排(vue实现钉钉的考勤日历)
- 买绿宝不能只挑黄绿色 菜农教你3招挑,个个皮薄肉脆,香甜爆汁(买绿宝不能只挑黄绿色)
- 大果肉搭配薄瓜皮, 绿宝 脆甜爽口,不愧是甜瓜中的 佼佼者(大果肉搭配薄瓜皮)
- 河南尉氏县因地制宜发展果蔬种植 水坡镇绿宝甜瓜变 金瓜(河南尉氏县因地制宜发展果蔬种植)
- 谢广坤,你这么欺负谢腾飞,良心不会痛吗(你这么欺负谢腾飞)
- 乡村爱情15 宋晓峰怀疑自己孩子,腾飞与姜奶奶亲子鉴定出结果(宋晓峰怀疑自己孩子)
- 《乡村爱情13》开播,新版刘能以假乱真,编剧思维进入瓶颈(新版刘能以假乱真)
热门推荐
- 云服务器和普通服务器有什么区别(云服务器是什么?云服务器是如何工作的?)
- laravel 数据库实现原理(laravel 数据迁移与 Eloquent ORM的实现方法)
- html注册表单验证代码(JavaScript+html实现前端页面随机二维码验证)
- thinkphp5分页数据怎么处理(TP5thinkPHP5框架实现显示错误信息及行号功能的方法)
- vue手动清除keepalive缓存(vue中keep-alive组件的用法示例)
- php 结果集转json(PHP的JSON封装、转变及输出操作示例)
- 如何减少用户操作网站时的出错率
- 阿里云ecs属于哪种云服务(阿里的轻云服务器、虚拟主机、云服务器ECS的区别?)
- 执行mysqldump命令后数据库无反应(关于xampp启动不了mysql数据库的解决方法)
- 可以清除浮动影响的方法是(常用的清除浮动的方法)