在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ new Vue({})和var app=new Vue({})兩種創(chuàng)建vue實(shí)例

new Vue({})和var app=new Vue({})兩種創(chuàng)建vue實(shí)例的區(qū)別在哪?

    <div id="app">
        <p>{{msg}}</p>
    </div>
    <script>
        var app = new Vue({
            el: '#app',
            data: {
                msg: 'Hello Vue'
            }
        })
        app.msg=123
        console.log(app.msg)
        console.log(app.$data.msg === app.msg)
    </script>

上面代碼通過(guò)var方式創(chuàng)建時(shí)兩個(gè)打印信息正常執(zhí)行,通過(guò)new Vue方式創(chuàng)建時(shí)第二個(gè)打印信息報(bào)錯(cuò),求前輩指點(diǎn)這兩種方式區(qū)別在哪?

回答
編輯回答
局外人

el:"#app"意思是掛載到id為app的元素上。var app 是創(chuàng)建的app vue實(shí)例。你把兩個(gè)名字改個(gè)不一樣試試

2018年7月31日 19:45
編輯回答
裸橙

你不如打印一下app看看兩個(gè)app的區(qū)別。
如果dom元素的id沒(méi)有和js內(nèi)置對(duì)象重名,或者沒(méi)有被重寫(xiě),那么這個(gè)id的“變量”是指向這個(gè)dom元素的。即:不對(duì)app進(jìn)行重新賦值,則app指向dom元素。由于第二種方法對(duì)app重新賦值,所以app指向了Vue對(duì)象。
另外,<img name="app">這樣的也會(huì)有類(lèi)似的效果

2018年5月15日 09:36
編輯回答
吢丕

只是new Vue({})而不var app=new Vue({})賦值給app這個(gè)變量的話(huà), app就實(shí)際不是一個(gè)Vue的實(shí)例,
它其實(shí)直到app.msg=123才被創(chuàng)建, 不具有$data屬性

2017年8月23日 17:03