位置:电子教程 > Vue.JS入门教程 (如果看不到内容请使用360浏览器) 推荐学习资源
Vue.js入门
Vue.js 数据绑定
Vue.js中的指令
Vue.js 表单和双向数据绑定
Vue.js 条件和循环指令
Vue.js 循环语句v-for
Vue.js 样式绑定
Vue.js 事件处理器
Vue.js 监听属性
Vue.js 计算属性
Vue.js 组件 Component
Vue.js 自定义指令
Vue.js 路由
Vue.js 过渡和动画
Vue.js 响应接口
Vue.js中Ajax(Axios)
当前阅读教程:Vue.JS入门教程 > 全选与取消全选
阅读(22555525)      收藏       赞(5685)      分享
上一篇: 简单的购物车 下一篇: Vue.js 计算属性
代码
<!DOCTYPE html>
<html>
<head>
     <meta charset="utf-8">
     <title>Vue.JS-表单-监听属性-全选与取消全选</title>
     <!--加载本地vue.js的框架-->
     <script src="vue2.2.2.min.js"></script>    
</head>
<body>
    
<!--定义div区块的id的值,这里定义的值为"app",后面vue会使用该值-->
<div id="app"> 
    
     <!--全选,调用方法ckall()来实现全选-->
     <input type="checkbox" v-model="checked" id="ckbox" v-on:change="ckall()" />
     <label for="ckbox">全选</label><hr>
 
     <!--选项1,双向绑定到属性(数组)jieguo,有自己的id和value-->
     <input type="checkbox" id="baidu" value="baidu" v-model="jieguo" />
     <label for="baidu">baidu</label>
 
     <!--选项2,双向绑定到属性(数组)jieguo,有自己的id和value-->
     <input type="checkbox" id="taobao" value="taobao" v-model="jieguo" />
     <label for="taobao">taobao</label>
 
     <!--选项3,双向绑定到属性(数组)jieguo,有自己的id和value-->
     <input type="checkbox" id="qq" value="qq" v-model="jieguo" />
     <label for="qq">qq</label>        
 
     <!--上面三个独立的选项,如果都选择了;也会自动给全选这里选中-->
     <hr>
     {{jieguo}}<!--选中的内容-->
    
</div>
 
<script>
//Vue语句-开始        
var vm = new Vue({
  el: '#app', //app为前面div区块的id的值,通过"#"号绑定
  data: {
      checked:false,//初始化布尔型
      jieguo:[],//初始化、定义空数组
      shuzu:["baidu","taobao","qq"] //定义所有内容的结果值(数组)
  },
  //自定义方法区块
  methods:{
       //自定义全选方法
       ckall:function(){
               //全选选中状态
               if(this.checked){
                        this.jieguo = this.shuzu //通过给数组jieguo赋值实现全选
               }else{//取消全选
                        this.jieguo =[] //通过给数组jieguo赋值为空数组、实现取消全选
               }
       }
  },
  //监听 数组jieguo的内容;如果发生改变,判断是否全选
  watch:{
       "jieguo":function(){
               if(this.jieguo.length ==  this.shuzu.length){
                        //当前选中的内容长度(几个选项)和所有结果的长度一致,则表示全选
                        this.checked = true//设置全选状态true
               }else{
                        this.checked = false//不是全选则设置全选状态false
               }
       }
  }
})//Vue语句-结束
 
</script>   
    
</body>
</html>
效果图

小白教程网www.2d5.net

image.png


上一篇: 简单的购物车 下一篇: Vue.js 计算属性
毕业设计网             广告联系QQ:45157718(微信同号)