Component标签

简介: Component标签

标签是Vue框架自定义的标签,它的用途就是可以动态绑定我们的组件,根据数据的不同更换不同的组件。


1.我们先在构造器外部定义三个不同的组件,分别是componentA,componentBcomponentC

var componentA={
     template:`<div>I'm componentA</div>`
}
 var componentB={
      template:`<div>I'm componentB</div>`
}
var componentC={
    template:`<div>I'm componentC</div>`
}


2.我们在构造器的components选项里加入这三个组件。

components:{
    "componentA":componentA,
    "componentB":componentB,
    "componentC":componentC,
}


3.我们在html里插入component标签,并绑定who数据,根据who的值不同,调用不同的组件。

<component v-bind:is="who"></component>


这就是我们的组件标签的基本用法。我们提高一下,给页面加个按钮,每点一下更换一个组件。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script type="text/javascript" src="../assets/js/vue.js"></script>
    <title>component-4</title>
</head>
<body>
    <h1>component-4</h1>
    <hr>
    <div id="app">
       <component v-bind:is="who"></component>
       <button @click="changeComponent">changeComponent</button>
    </div>
    <script type="text/javascript">
        var componentA={
            template:`<div style="color:red;">I'm componentA</div>`
        }
        var componentB={
            template:`<div style="color:green;">I'm componentB</div>`
        }
        var componentC={
            template:`<div style="color:pink;">I'm componentC</div>`
        }
        var app=new Vue({
            el:'#app',
            data:{
                who:'componentA'
            },
            components:{
                "componentA":componentA,
                "componentB":componentB,
                "componentC":componentC,
            },
            methods:{
                changeComponent:function(){
                    if(this.who=='componentA'){
                        this.who='componentB';
                    }else if(this.who=='componentB'){
                        this.who='componentC';
                    }else{
                        this.who='componentA';
                    }
                }
            }
        })
    </script>
</body>
</html>


目录
相关文章
|
6月前
|
前端开发 开发者
类组件(Class component)和 函数式组件(Functional component) 之间有何区别?
类组件(Class component)和 函数式组件(Functional component) 之间有何区别?
101 0
|
1月前
|
前端开发 JavaScript UED
react-router 里的 Link 标签和 a 标签有什么区别
`react-router` 中的 `Link` 标签与 HTML 中的 `a` 标签的主要区别在于:`Link` 是专门为 React 应用设计的,用于实现客户端路由导航,不会触发页面的重新加载,而 `a` 标签则会刷新整个页面。使用 `Link` 可以提升应用的性能和用户体验。
|
3月前
|
JavaScript
Vue3标签(Tag)
这是一个Vue组件`Tag.vue`,提供了多样化的标签展示功能。支持设置标签颜色、尺寸、图标、边框等样式,并可实现标签的动态添加与删除。
Vue3标签(Tag)
|
5月前
|
设计模式 前端开发 JavaScript
约束性组件( controlled component)与非约束性组件( uncontrolled component)
约束性组件( controlled component)与非约束性组件( uncontrolled component)
|
6月前
|
Java 数据处理
JSF 中模板(template)标签指令的使用
本文介绍了JSF中模板标签的使用,通过Facelets标签指令创建网页模板。将页面分为header, content和footer三部分,分别用header.xhtml, content.xhtml和footer.xhtml定义。主模板文件通过ui:insert和ui:include将子模块组装在一起,实现页面布局。最后简要提及了JSF标签库的作用和JSTL的相关内容。
50 2
|
6月前
|
JavaScript 前端开发 程序员
功能组件( Functional Component )与类组件( Class Component )如何选择?
功能组件( Functional Component )与类组件( Class Component )如何选择?
48 0
|
6月前
|
移动开发 JavaScript 小程序
uView Tag 标签
uView Tag 标签
81 1
|
11月前
|
JavaScript 前端开发
vue-class-component
vue-class-component
99 1
|
前端开发 JavaScript
写文章 类组件(Class component)和 函数式组件(Functional component)之间有何区别
写文章 类组件(Class component)和 函数式组件(Functional component)之间有何区别
49 0