Vue(八)---组件(Component)

组件(Component)是 Vue.js 最强大的功能之一。组件能够扩展 HTML 元素,封装可重用的代码。javascript

注册一个全局组件语法格式以下:java

Vue.component(tagName, options)

tagName 为组件名,options 为配置选项。注册后,咱们可使用如下方式来调用组件:app

<tagName></tagName>

1.全局组件:this

  全部实例都能用全局组件spa

<div id="app">
            <aaa></aaa>
            <aaa></aaa>
</div>
        
        <script>
            Vue.component('aaa',{
                template:'<h1>自定义组件!</h1>'
            })
            
            new Vue({
                el:'#app'
            })
        </script>

 

 

2.局部组件:3d

  在实例选项中注册局部组件,这样组件只能在这个实例中使用code

<div id="app">
            <cc></cc>
</div>
        <script type="text/javascript">
            var Child = {
              template: '<h1>自定义组件!</h1>'
            };
            new Vue({
                el:'#app',
                components:{
                    'cc':Child
                }
            })
        </script>

 

3.参数:props component

传递参数给组件blog

<body>
        <div id="app">
            <aaa mess="abcd"></aaa>
            <aaa></aaa>
        </div>
        <script>
            Vue.component('aaa',{
                props:['mess'],
                template:'<h1>---{{mess}}----</h1>'
            })
            
            new Vue({
                el:'#app'
            })
        </script>
    </body>

 

 

4.动态参数ip

<div id="app">
    <div>
      <input v-model="parentMsg">
      <br>
      <child v-bind:message="parentMsg"></child>
    </div>
</div>

<script>
// 注册
Vue.component('child', {
  // 声明 props
  props: ['message'],
  // 一样也能够在 vm 实例中像 “this.message” 这样使用
  template: '<span>{{ message }}</span>'
})
// 建立根实例
new Vue({
  el: '#app',
  data: {
    parentMsg: '父组件内容'
  }
})
</script>

相关文章
相关标签/搜索