前面介绍了Vue中组件的创建方式和data及methods属性,本文我们来做一个Vue组件的切换案例,效果如下:

这个效果相信大家都能搞定,本文希望通过这个案例来加深一下对组件的使用。我们通过前面介绍的 v-if 指令和 component 标签两种方式来实现这种效果。

通过v-if控制实现

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.12/vue.min.js"></script>
</head>
<body><div id="app"><!-- 添加链接标签,通过 v-if 和 v-else 指令来控制显示 --><a href="" @click.prevent='flag=true'>登录</a><a href="" @click.prevent='flag=false'>注册</a><!--注意: v-if v-else-if v-else 使用^_^ --><login v-if=flag></login><register v-else></register></div><script>// 创建登录的组件Vue.component("login",{template: "<h3>这是一个登录(login)组件</h3>"})// 创建注册的组件Vue.component("register",{template: "<h3>这是一个注册(register)组件</h3>"})var vm = new Vue({el: "#app",data: {flag:false},methods: {}})</script>
</body>
</html>

通过component标签实现

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.12/vue.min.js"></script>
</head>
<body><div id="app"><a href="" @click.prevent="comName='login'">登录</a><a href="" @click.prevent="comName='register'">注册</a><!-- component 是一个占位符, :is 属性用来指定要展示的组件的名称 --><component :is="comName"></component></div><script>// 创建登录的组件Vue.component("login",{template: "<h3>这是一个登录LOGIN组件</h3>"})// 创建注册的组件Vue.component("register",{template: "<h3>这是一个注册组件</h3>"})var vm = new Vue({el: "#app",data: {comName: 'login'},methods: {}})</script>
</body>
</html>

【Vue案例三】使用v-if指令 / component标签实现组件的切换相关推荐

  1. Vue — 第三天(计算属性和json-server)

    计算属性 使用场景 如果一个结果需要依赖data中的数据,但是需要经过一些逻辑处理,才能得到你想要的数据.此时就可以使用计算属性. 例如:要对给定的字符串做翻转处理之后再来显示. <div id ...

  2. zabbix生产环境案例(三)

    生产环境案例(三) 链接:https://pan.baidu.com/s/1q5YwJMTcZLcS5OQ0iOu44A 提取码:8gdi 复制这段内容后打开百度网盘手机App,操作更方便哦 1. Z ...

  3. Vue第三天 v-model与Vue组件化

    Vue第三天 v-model与Vue组件化 数据的双向绑定 v-model的使用 v-model的基本使用 Vue中使用v-model指令来实现表单元素和数据的双向绑定. <div id=&qu ...

  4. vue.js 三种方式安装(vue-cli)

    Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件.它不仅易于上手 ...

  5. Vue 里 几个重要的指令

    Vue 里 几个重要的指令 --资源来自黑马程序员 v-text v-html v-on v-show v-if v-bind v-for v-model --资源来自黑马程序员) v-text &l ...

  6. vue.js 三种方式安装--npm安装

    Vue.js是一个构建数据驱动的 web 界面的渐进式框架.     Vue.js 的目标是通过简单的 API 实现响应的数据绑定和组合的视图组件.它不仅易上手,便于与第三方库或既有项目整合.     ...

  7. vue 给checkbox 赋值_浅谈vue中关于checkbox数据绑定v-model指令的个人理解

    vue.js为开发者提供了很多便利的指令,其中v-model用于表单的数据绑定很常见, 下面是最常见的例子: {{msg}} js里data初始化数据 new Vue({ el: "#myA ...

  8. vue.js三种安装方式

    Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件.它不仅易于上手 ...

  9. Vue.js 学习笔记 十一 自定义指令

    之前看到过v-bind,v-on等指令,Vue还可以自定义指<div id="divApp"        <div v-focus></div> & ...

最新文章

  1. CVPR 2021 | 基于语义聚合与自适应2D-1D配准的手部三维重建(快手)
  2. 01-.Net编程机制
  3. 报名 | 2019年第六届清华大学大数据社会科学讲习班
  4. php获取ios或android通过文件头(header)传过来的坐标,通过百度接口获取具体城市和地址,并存入到session中...
  5. STM32单片机硬件I2C驱动程序(查询方式)
  6. 理清Python网络编程
  7. 前端请求接口出现的跨域问题
  8. ubuntu 两行命令自动安装最合适的NVIDIA驱动
  9. .NET开发相关技术
  10. flask前端优化:css/js/html压缩
  11. 架构师之路 — 分布式系统 — 分布式网络分区难题
  12. VS修改软件生成的 exe名称
  13. 广义线性模型之泊松回归
  14. python爬虫系列一:爬取糗百成人的妹子图片(urllib2)
  15. 190320运算符数据类型
  16. 10行代码,带你理解自然底数e、自然指数ln
  17. 【情人节特别篇】想知道玫瑰在哪些城市最畅销嘛?
  18. 前端:3分钟实现一个共享桌面,还能听见麦克风声音哦
  19. c语言字母字符参与运算,c语言字符串可以参加运算吗?
  20. 在计算机软件中 BIOS的中文意思是,电脑bios是什么意思

热门文章

  1. SFTP 命令用法介绍
  2. AngularJS-demo - 常用命令、内置服务、自定义服务、继承
  3. 网页嵌入pdf、在线预览pdf工具及插件(转)
  4. 关于sqoop增量导入oracle的数据到HDFS的出现的错误总结
  5. FineReport:任意时刻只允许在一个客户端登陆账号的插件
  6. xml之dom4j解析
  7. 用函数刷新页面内容比刷新页面要好
  8. AsyncTask实现登录功能,上传图片,get,post
  9. monkey测试小结
  10. cocos2d-x 3.2 移植到android