这里,我用一个注册登录两组件的切换实例来演示:

切换方式一

<!DOCTYPE html>
<html lang="zh-CN"> <head>
<meta charset="UTF-8" />
<title>独秀不爱秀</title>
</head> <body>
<div id="app">
<a href="#" @click.prevent="flag = true">登录</a>
<a href="#" @click.prevent="flag = false">注册</a> <!-- 默认显示 登录组件 -->
<login v-if="flag"></login>
<register v-else="flag"></register>
</div> <script src="./lib/vue-2.4.0.js"></script> <script type="text/javascript">
Vue.component('login', {
template: '<h3>登录组件</h3>'
}); Vue.component('register', {
template: '<h3>注册组件</h3>'
}); const vm = new Vue({
el: '#app',
data: {
flag: true
},
});
</script>
</body> </html>

这个方式唯一的缺陷就是只能在两个组件之前切换,当要求需要三个及三个以上的组件切换的时候,这就不行了(原因是 flag 只有 true 和 false 两个值),这就要要使用 方式二了。

切换方式二

这里,我们需要学到一个 Vue 官方 提供的 元素 component。

<!DOCTYPE html>
<html lang="zh-CN"> <head>
<meta charset="UTF-8" />
<title>独秀不爱秀</title>
</head> <body>
<div id="app">
<a href="#" @click.prevent="comName = 'login'">登录</a>
<a href="#" @click.prevent="comName = 'register'">注册</a>
<!--
Vue 提供的 component 来展示对应名称的组件
component 是一个占位符
:is 属性指定 组件名称
-->
<component :is="comName"></component> </div> <script src="./lib/vue-2.4.0.js"></script> <script type="text/javascript">
// 组件名称是字符串
Vue.component('login', {
template: '<h3>登录组件</h3>'
}); Vue.component('register', {
template: '<h3>注册组件</h3>'
}); const vm = new Vue({
el: '#app',
data: {
comName: 'login'// 当前 component 中的 :is 绑定的组件名称
},
});
</script>
</body> </html>

现在,我们在添加一个退出组件(这是为了证明第二种组件切换方式的好处)

<!DOCTYPE html>
<html lang="zh-CN"> <head>
<meta charset="UTF-8" />
<title>独秀不爱秀</title>
</head> <body>
<div id="app">
<a href="#" @click.prevent="comName = 'login'">登录</a>
<a href="#" @click.prevent="comName = 'register'">注册</a>
<a href="#" @click.prevent="comName = 'out'">退出</a>
<!--
Vue 提供的 component 来展示对应名称的组件
component 是一个占位符
:is 属性指定 组件名称
-->
<component :is="comName"></component>
</div> <script src="./lib/vue-2.4.0.js"></script> <script type="text/javascript">
// 组件名称是字符串
Vue.component('login', {
template: '<h3>登录组件</h3>'
}); Vue.component('register', {
template: '<h3>注册组件</h3>'
}); Vue.component('out', {
template: '<h3>退出组件</h3>'
}); const vm = new Vue({
el: '#app',
data: {
// 默认显示 登录组件
comName: 'login'// 当前 component 中的 :is 绑定的组件名称
},
});
</script>
</body> </html>

切换成功。

组件切换方式(Vue.js)的更多相关文章

  1. 第六章 组件 59 组件切换-使用Vue提供的component元素实现组件切换

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  2. vue.js组件化开发实践

    前言 公司目前制作一个H5活动,特别是有一定统一结构的活动,都要码一个重复的轮子.后来接到一个基于模板的活动设计系统的需求,便有了下面的内容.借油开车. 组件化 需求一到,接就是怎么实现,技术选型自然 ...

  3. VUE.JS组件化

    VUE.JS组件化 前言 公司目前制作一个H5活动,特别是有一定统一结构的活动,都要码一个重复的轮子.后来接到一个基于模板的活动设计系统的需求,便有了下面的内容.借油开车. 组件化 需求一到,接就是怎 ...

  4. Vue.js 2.x:组件的定义和注册(详细的图文教程)

    本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 前言 什么是组件 组件: 组件的出现,就是为了拆分Vue实例的代码量的, ...

  5. Vue系列之 => 组件切换

    组件切换方式一 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  6. Vue.js 组件编码规范

    本规范提供了一种统一的编码规范来编写 Vue.js 代码.这使得代码具有如下的特性: 其它开发者或是团队成员更容易阅读和理解. IDEs 更容易理解代码,从而提供高亮.格式化等辅助功能 更容易使用现有 ...

  7. Vue.js 学习笔记 第7章 组件详解

    本篇目录: 7.1 组件与复用 7.2 使用props传递数据 7.3 组件通讯 7.4 使用slot分发内容 7.5 组件高级用法 7.6 其他 7.7 实战:两个常用组件的开发 组件(Compon ...

  8. Vue.js——60分钟组件快速入门(上篇)

    组件简介 组件系统是Vue.js其中一个重要的概念,它提供了一种抽象,让我们可以使用独立可复用的小组件来构建大型应用,任意类型的应用界面都可以抽象为一个组件树: 那么什么是组件呢?组件可以扩展HTML ...

  9. Vue.js:轻量高效的前端组件化方案

    转发一篇尤老师对vue.js的介绍,了解vue.js的来龙去脉.不过现在已经是2.0了,也有添加一些新的东西,当然有些东西也改了. Vue.js:轻量高效的前端组件化方案 Vue.js 是我在2014 ...

随机推荐

  1. mybatis框架的分页功能

    需求说明:为用户管理之查询用户列表功能增加分页实现      列表结果按照创建时间降序排列 /** * 需求说明:为用户管理之查询用户列表功能增加分页实现 列表结果按照创建时间降序排列 * @para ...

  2. robot framework Selenium2library wait小问题

    最近在使用selenium2Library时,用到其中的 Wait Until Page函数,因我们的网页相对比较敏感,经常获取不到,不明觉历 看看源码吧,如下: def wait_until_pag ...

  3. 第二阶段冲刺(个人)——seven

    今天的计划:设计总的界面背景,统一风格. 昨天做了什么?优化登录.注册信息的填写判断.

  4. 微信H5页面分享获取JS-SDK

    https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115  微信开发文档: 生成签名之前必须先了解一下jsapi_ti ...

  5. 【oracle】update 某字段为null

    字段 = null 注意这个字段要可以为空

  6. 部署zabbix服务端和客户端和网页

    一:安装zabbix服务端 1.部署准备 命令:iptables -F     #关闭防火墙命令:systemctl stop firewalld    #关闭防火墙 设置解析,自建yum源 命令:c ...

  7. Flask常用路由参数

    Flask中的路由参数: @app.route(‘/’, endpoint=’xx’ , methods=[‘GET’,...]) >endpoint后的名字,用来反向生成url的.后面的名字随 ...

  8. 洛谷 P1965 转圈游戏

    洛谷 P1965 转圈游戏 传送门 思路 每一轮第 0 号位置上的小伙伴顺时针走到第 m 号位置,第 1 号位置小伙伴走到第 m+1 号位置,--,依此类推,第n − m号位置上的小伙伴走到第 0 号 ...

  9. Linux stty命令

    stty是linux下改变和打印终端设置的常用命令. 一.参数: 1.打印终端行设置 -a,--all   以人可读的方式打印所有当前设置:-a参数比单独的stty命令输出的终端信息更详细 -g,-- ...

  10. Spring Security教程(三)

    在上一篇博客中讲解了用Spring Security自带的默认数据库存储用户和权限的数据,但是Spring Security默认提供的表结构太过简单了,其实就算默认提供的表结构很复杂,也不一定能满足项 ...