工作日志

2018-07-26

2018-07-26  本文已影响0人  轩爱青

vue组件相关练习
1、设计组件定义、分类(全局、局部组件)、
2、组件传值、
父传值给子组件,用props参数接收
子传值给父组件,用$emit('自定义方法A',传值内容);
3、组件调用需要使用子组件定义方法A

HTML
<div id="app">
<div class="container">
<div class="row">
<div class="col-md-8">
<br />
<input type="text" class="form-control" placeholder="请输入进行查询" />
<br />
<div class="alert alert-success">
{{msg}}
</div>
</div>
<div class="col-md-4">
<br />
<button type="button" class="btn btn-primary">查询</button>
</div>
</div>
<div class="row">
<div class="col-md-8">

<fcomp v-bind:title='content' v-on:childevent='update'></fcomp>
</div>
</div>
</div>
</div>

JS
// 定义组件
Vue.component('fcomp',{
template:<div class="alert alert-warning alert-dismissible" role="alert"> <h3>{{title}}<h3><br /> <strong>tips!</strong> {{ctmsg}} <button @click='updateInfo()' class="btn btn-success">发送数据</button> </div>,
props:{
title:{ //title 为自定义属性
type:String,
required:true
}
},
data(){
// 组件返回值是一个对象
return {
content:'我是子组件传的值',
ctmsg:'组件内的信息'
}
},
methods:{
updateInfo(){
//alert('提交数据');
this.$emit('childevent', this.content);
}
}
});

//  实例化vue对象
new Vue({
    el:"#app",
    data:{
        msg:'欢迎来到vue组件 world',
        content:'传到组件内的的信息'
    },
    methods:{
        update(val){
            alert('子组件向父组件传值内容:' + val);
            this.msg = val;
        }
    }
});
image.png

传值后:


image.png
上一篇下一篇

猜你喜欢

热点阅读