概述
一. 使用if和else的组件切换
<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>
//组件可以有自己的data属性 ,使用方法和实例中的完全一样
//组件中的data和实例中的data有点不一样,实例中的data可以为一个对象,但是组件中的data必须是一个方法
//组件中的data内部还必须返回一个对象
Vue.component('login', {
template: '<h3>登录组件</h3>',
});
Vue.component('register', {
template: '<h3>注册组件</h3>',
});
var vm = new Vue({
el: '#app',
data: {
flag: true
}
})
</script>
二. 使用Vue提供的component元素实现组件切换
component是一个占位符, is属性,可以用来指定要展示的组件的名称 。
实际上与<login></login>是一样的,但是没有动态绑定的is属性,传入的值直接就是一个组件名称。
<component is="login"></component>
然而动态绑定的:is,则传入的值,是一个字符串变量,这个变量的值就是组件的名称。
<component :is="’login‘"></component>
可以直接在Vue实例内data中,定义一个字符串属性变量,动态的切换组件。
代码演示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="vue.js"></script>
</head>
<body>
<div id="app">
<a href="" @click.prevent="componentName = 'login'">登录</a>
<a href="" @click.prevent="componentName = 'register'">注册</a>
<!-- component是一个占位符, :is属性,可以用来指定要展示的组件的名称 -->
<component :is="componentName"></component>
</div>
<script>
Vue.component('login', {
template: '<h3>登录组件</h3>',
});
Vue.component('register', {
template: '<h3>注册组件</h3>',
});
var vm = new Vue({
el: '#app',
data: {
componentName: 'login'
},
methods: {
}
})
</script>
</body>
</html>
最后
以上就是冷静楼房为你收集整理的Vue之组件的切换的全部内容,希望文章能够帮你解决Vue之组件的切换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复