美文网首页
vue挂载到body上报错了, 解决办法在这里哦

vue挂载到body上报错了, 解决办法在这里哦

作者: 婷诗漾 | 来源:发表于2018-05-25 17:44 被阅读0次

    控制台报的错误是这样的:
    [Vue warn]: Do not mount Vue to <html> or <body> - mount to normal elements instead.

    我用的 v2.5.17 的版本, 不支持

      new Vue({
                el:'body',
                data:{
                    msg:'welcome vue'
                }
      });
    <body>
        <input type="text" v-model="msg">
        <br>
        {{msg}}
     </body>
    

    报错如下:


    版本不支持了哦.png

    但是, v1.0.21版本还是支持的。其他的版本, 就不太清楚了呀!

    我试过在body 上面加id属性, 但还是报同样的错。

    <body id = "app">
        <input type="text" v-model="msg">
        <br>
        {{msg}}
     </body>
    

    官方文档是这么解释的:

    提供的元素只能作为挂载点。不同于 Vue 1.x,所有的挂载元素会被 Vue 生成的 DOM 替换。因此不推荐挂载root实例到 <html> 或者 <body> 上。

    也就是,vue 的挂载容器不能是html 和 body。

    解决办法, 用div 将代码包起来

     <script>
        window.onload=function(){
            new Vue({
                el:'#app',
                data:{
                    msg:'welcome vue'
                }
            });
        };
    </script>
    <body>
      <div id = "app">
        <input type="text" v-model="msg">
        <input type="text" v-model="msg">
        <br>
        {{msg}}
      </div>
    </body>
    

    OK,完美解决。
    2018年5月25日

    相关文章

      网友评论

          本文标题:vue挂载到body上报错了, 解决办法在这里哦

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