vue 踩坑 01 ->两种创建vue实例的区别

第一个例子

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

第二个例子

    <div id="app">
        <p>{{msg}}</p>
    </div>
    <script>
        new Vue({
            el: '#app',
            data: {
                msg: 'Hello Vue'
            }
        })
        app.msg=123;
        console.log(app) ;
    </script>
这两个例子在页面渲染上是没有差别的,但是在控制台输出的console.log(app)是有差别的

第一个是一个vue实例

Vue {_uid: 0, _isVue: true, $options: {…}, _renderProxy: Proxy, _self: Vue, …}

第二个仅仅是一个DOM对象

<div id="app'>Hello Vue</div>

如果dom元素的id没有和js内置对象重名,或者没有被重写,那么这个id的“变量”是指向这个dom元素的。即:不对app进行重新赋值,则app指向dom元素。由于第一种方法对app重新赋值,所以app指向了Vue对象。

另外,<img name="app">这样的也会有类似的效果
上一篇:node.js 爬虫


下一篇:用javascript完成pos机的输入输出