美文网首页
Vue构建个人博客(1)

Vue构建个人博客(1)

作者: 云中声 | 来源:发表于2019-10-01 00:05 被阅读0次

    以后会不定期的更新(准备考研Ing,个人博客只能算是业余的工作了)
    之前很早就预备用vue构建了,官方的文档也看了很久但是,真的做的时候跟文档就是两码事。

    进入正题,这次主要是node构建的vue应用的组件传参问题。
    在自己用CDN测试的文档里是这样写的

        <div id="app">
            <my_menu v-bind:subtitles="my_subtitles"></my_menu>
        </div>
    
       <script>
        new Vue({
            el:'#app',
            data:{
                my_subtitles:[
                    {content:"aaa",link:"http://www.baidu.com"}
                ]
            }
        })
       </script>
    

    内容非常的清晰,但是在vue应用中,只能看到

    <div id="app"  ></div>
    
    new Vue(render: h => h(App))
    

    ???道理都懂,id为app的<div>被替换成了App组件,但是问题是原本的参数怎么绑定。这里先看h=>h(App)是怎么回事
    这其实是用了箭头函数缩写(个人不喜欢缩写,带来的问题确实多,写的时候的确麻烦,但是有可读性的保障),上面的原型是这样的:

    render: function (createElement) {
        return createElement(App);
    }
    

    而要将信息绑定到App实例中的方法为

    render:(h) => {
                  return h('div',{   //给div绑定value属性
                                        props: {
                                        value:''
                                        },
                                        //给div绑定样式
                                        style:{
                                        width:'30px'
                                        },
                                      //给div绑定点击事件  
                                    on: {
                                        click: () => {
                                            console.log('点击事件')
                                        }
                                    },
    
                                })
                            }    
    

    相关文章

      网友评论

          本文标题:Vue构建个人博客(1)

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