美文网首页
四、vue从入门到进阶:组件Component详解(六)]

四、vue从入门到进阶:组件Component详解(六)]

作者: 负15厘米的爱 | 来源:发表于2019-04-23 15:42 被阅读0次

    转在https://www.cnblogs.com/moqiutao/p/8328931.html

    [vue从入门到进阶:组件Component详解(六)]

    1.定义一个全局组件

    <div id="example">
      <my-component></my-component>
    </div>
    
    // 注册
    Vue.component('my-component', {
      template: '<div>A custom component!</div>'
    })
    var vm = new Vue({
      el: '#example',
      data: {
           
      } 
    })
    
    或者2
    // 注册
    var MyComponent = Vue.extend({
      template: '<div>A custom component!</div>'
    });
    // 注册
    Vue.component('my-component', MyComponent);
    var vm = new Vue({
      el: '#example',
      data: {
           
      }
    })
    3.Vue.extend()使用说明 Vue.extend( options )的使用。
    // 创建构造器
    var Profile = Vue.extend({
      template: '<p>{{firstName}} {{lastName}} aka {{alias}}</p>',
      data: function () {
        return {
          firstName: 'Walter',
          lastName: 'White',
          alias: 'Heisenberg'
        }
      }
    })
    // 创建 Profile 实例,并挂载到一个元素上。
    new Profile().$mount('#mount-point')
    
    

    2.局部注册

    var Child = {
      template: '<div>A custom component!</div>'
    }
    
    new Vue({
      // ...
      components: {
        // <my-component> 将只在父组件模板中可用
        'my-component': Child
      }
    })
    

    总结。

    html:
    <vue-layui-input  
    inp-name="你好"  //input 名字
     inp-type="text"  //input 类型
    v-model="organ.organCode" //绑定的model元素
     v-bind:deful="organ.organCode"> //默认值(我觉得可以去掉)
                        </vue-layui-input>
    //注册的组件。
    Vue.component('vue-layui-input', {
        props: {inpName:['inpName'],inpType:['inpType'],deful: ['deful']},
        methods: {
            change(value) {
                console.log(value)
                this.$emit('input', value);
            }
        },
        template: '<div class="layui-form-item">' +
            '                        <div class="col-md-1"></div>' +
            '                        <div class="col-md-11">' +
            '                            <label class="layui-form-label" style="width: 110px">{{inpName}}{{inpType}}</label>' +
            '                            <div class="layui-input-block">' +
            '                              <input v-bind:type="inpType" v-bind:value="deful" class="layui-input" v-on:input="change($event.target.value)" style="margin-left: 10px;"/>'+
            '                            </div>' +
            '                        </div>' +
            '                    </div>'
    });
    //注意的是 在修改值后需要   v-on:input="change($event.target.value)"   触发 this.$emit('input', value);
    

    相关文章

      网友评论

          本文标题:四、vue从入门到进阶:组件Component详解(六)]

          本文链接:https://www.haomeiwen.com/subject/bnwugqtx.html