vue

<!--找到盒子对象,找到变动数据;不是data里面的数据都要在双引号内部打单引号-->

<!--监控(watch)和过滤(filters)都是用的data里面的键,计算(computed)是在计算里面创建的.-->

一  Vue的基本使用(写在获得的盒子对象后面)
    <script>
        var app = new Vue({
            //获取标签
            el: "#app",
            //变动数据
            data{
                str1: "hello world"
            },
            methods: {
                add: function(){
                }
            }
        })
    </script>

二   Vue的模板语法:
  a>>{{}}要显示的动态数据放里面,写在标签的内部;
  b>>控制标签属性      :标签属性=""  (三目运算符取)
  c>>给标签添加事件     @click="函数名"

三   Vue控制类名(bool1?'atalk':'btalk')

四   v-if的渲染(写在标签中,控制标签是否被渲染)
 1、语法格式:
   <div v-if="bool1">1111</div>
   <div v-if-else="bool2">2222</div>
   <div v-else>3333</div>

五   列表和对象的渲染(将列表中的元素循环放到标签(li\td)的内容中)
 格式:
    <ul>
        <li v-for="(i,j) in list1"> {{i}}{{j}} </li>
    </ul>
 注意: i为列表的元素或对象的值;j为列表元素的下标或对象的键

六   表单数据绑定(绑定value值)
 格式:
    <input type="text" v-model="v1">  //v1来自于data中的键
 双向绑定:
    input的value值改变v1也改变;v1改变input的value值也改变

七   单选框和复选框的数据绑定
 1 单选框v-model的值保存表单元素的value,格式如下:
    <input type="radio" v-model="gender" id="man" value="man"><label for="man">男</label>
    <input type="radio" v-model="gender" id="woman" value="woman"><label for="woman">女</label>

 2 复选框v-model的值是一个列表,可以保存多个value值,格式如下:
   <input type="checkbox" v-model="hobbies" id="code" value="code"><label for="code">敲代码</label>
   <input type="checkbox" v-model="hobbies" id="movies" value="movies"><label for="movies">看电影</label>
 3 注意:
    单选框和复选框中的v-model都是等于data中的键,所有单选框的v-model一样,所有复选框的v-model都一样,值里面对应的value值表示默认选的.

八   事件冒泡和默认提交
   阻止事件冒泡   @click.stop=""
   阻止默认提交   @click.prevent=""
   去除两边空格   v-model.trim="text1"

九   计算属性
  格式:
    computed: {
        //不是函数调用,不能打括号,不能有形参
        strRevs: function(){
            return 返回值
        }
     }

十   监听属性
  watch: {
      //监控的是data里面的数据,变化了就会被触发
      num: function(){
                console.log("num发生了变化!");
          }
   }

十一  过滤器(给数据添加格式)
  {{num | yuan}}
  1  一般过滤器:
    >>格式:
        filters:{
            //v接收num(默认传入)
            yuan: function(v){
                    return v+"元"
            }
         }

  2   全局过滤器(写在所有Vue变量前面):
    >>格式:
        Vue.filter("yuan", function(v){
            if(v==0){
                return v
            }
            return v + "元"
        })

十二  数据交互
  1     jquery:
    $.ajax({
        url: "/index_data.html",
        type: "GET",
        dataType: 'json',
        success: function(resp){
            console.log(resp);
        },
        error: function(){
            console.log("请求失败!")
        }
    })

   2    Vue
     var vm = new Vue({
        el: "#show_info",     //绑定标签
        data: {               //准备列表接收数据
            list1: []
        },
        mounted: function(){    //数据加载完毕后执行
            axios({
                method: "get",
                url: "index_data.html"
            }).then(function(resp){
                    vm.list1 = resp.data;
            }).catch(function(){
                alert("请求失败!")
            })
        }
     })

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值