Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动
Vue中的自定义事件通信
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| <script type="text/javascript" src="vue.js"></script>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>自定义事件</title>
</head>
<body>
<div id="app">
<my-div title="目录" :list="list1"></my-div>
</div>
</body>
</html>
<script type="text/javascript">
Vue.component('my-div', {
props: ['title','list'],
data(){
return {
val:""
}
},
template: `
<div>
<input type="" name="" :placeholder="title" :value="val">
<my-li :list="list" @valueVal="inputValue"></my-li>
</div>
`,
methods: {
inputValue(item){
console.log(item);
this.val=item;
}
}
})
Vue.component('my-li', {
props: ['list'],
template: `
<ul>
<li v-for="item in list" @click="selectValue(item)">{{item}}</li>
</ul>
`,
methods:{
selectValue(item){
console.log(item);
//告诉父级
this.$emit('valueVal',item);
}
}
})
new Vue({
el: "#app",
data:{
list1:['北京的那个啥',"上海","深圳"]
}
})
/*
注意:
1.父组件与子组件进行套用的时候,子组件向父组件传递数据,使用$emit
$this.$emit('自定义事件名',"需要传递的参数")
2.data中的数据需要返回
3.自定义事件需要写在父组件里引用的子组件中。如下所示:
//父组件
template: `
<div>
<input type="" name="" :placeholder="title" :value="val">
//子组件
<my-li :list="list" @valueVal="inputValue"></my-li>
</div>
`,
*/
</script> |
「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」
共 0 条评论关于"Vue中的自定义事件通信"
最新评论