component 使用

component的注册
1.全局注册
使用用Vue.component('componentName',{template:'<div class="tem1">hello world</div>'})在初始化实例之前、、
componentName自定义名称
在实例声明的作用域下中使用<componentName></componentName> 成功渲染效果就是 '<div class="tem1">hello world</div>
 Vue.component('my-component',{
            template:'<div class="tem1">hello world</div>'
        }	

组件中的数据使用
component不能使用实例的data ,但是可以在component 使用data 声明变量,data的使用只能使用函数形式

Vue.component('my-component',{
            template:'<div class="tem1">hello world {{comdata}}</div>',
            data:function(){return {comdata:'hehe'}}
        });


2.局部主持
在实例化的new Vue 中设置components
 var app=new Vue({
            el:'#app',
            components:{'example':{template:'<div>children template</div>'}}
        })
组件中的数据使用
var app=new Vue({
            el:'#app',
            data:{num:220},
            components:{
                'example':{
                    template:'<div>children template{{mydata}}</div>',
                    data:function(){return {mydata:' mydata=data'};}
                }

            }
        })

注意 组件不能使用实例的data:{num:220}的参数会报错
组件中同样支持methods、computed等其他属性 不会冲突保持相对的独立

这时候就必须考虑不同组件的数据通信问题

vue js总结来说通过props down events up 来传输数据
给父级调用数据使用props声明,给子集调用使用events来声明



Logo

前往低代码交流专区

更多推荐