为什么v-show不起作用?

点击按钮文字没有隐藏。


 
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <div id="app">
    <button @click="toshow()">显示/隐藏</button>
    <div v-show="show">我会隐藏</div>
  </div>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<script>
  var myapp=new Vue({
    el:'#app',
    data:{
      show: false,
    },
    methods:{
      toshow:function () {
        this.show = !this.show;
      }
    }
  });
</script>
</body>
</html>

引入的vue有问题:

img


指定一下版本号问题就解决了:


<script src="https://cdn.jsdelivr.net/npm/vue@2"></script>

vue源文件没有引入正确,改为这个网址:

<script src="https://cdn.jsdelivr.net/npm/vue@2"></script>

开发环境用这个

<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>

建议你把https://cdn.jsdelivr.net/npm/vue/dist/vue.js这个下载到本地,然后再引入

 
 
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <div id="app">
    <button @click="toshow()">显示/隐藏</button>
    <div v-show="show">我会隐藏</div>
  </div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
  var myapp=new Vue({
    el:'#app',
    data:{
      show: false,
    },
    methods:{
      toshow:function () {
        this.show = !this.show;
      }
    }
  });
</script>
</body>
</html>

命名有冲突吧,别用show, toshow用驼峰命名