练涛

vue学习——刚学Vue组件,吐槽一个东西

Vue组件的props是用来传值的

template:"<bbb @click='onClick()'>{{value}}</bbb>", //"<div>{{value}}</div>"

讨厌的东西就出在这行代码,一个组件的 template 调用同级别的组件 bbb 然后使用 props 传值,结果是行不通的,并且没有报错!虽然,明知道是什么问题,可是还是令我感到不舒服。


测试代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Vue组件学习demo2</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
    <div id="app">
        <aaa value="233"></aaa>
        <bbb value="233"></bbb>
    </div>
    
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
    <script>
        //aaa组件
        Vue.component("aaa",{
            template:"<bbb @click='onClick()'>{{value}}</bbb>", //"<div>{{value}}</div>"
            methods: {
                onClick:function(){
                    console.log("点击了a的onClick()")
                },
            },
            props:['value']
        })
        //bbb组件
        Vue.component("bbb",{
            template:"<h2 @click='onClick()'></h2>",
            methods: {
                onClick:function(){
                    alert("点击了b的onClick()")
                },
            },
        })
        var app =  new Vue({
            el: '#app',
        })

    </script>
</body>
</html>
posted @ 2018-11-01 22:48  练涛  阅读(207)  评论(0编辑  收藏  举报