vue第一天

vue是什么

Vue是一个前端js框架,由尤雨溪开发,是个人项目 目前由饿了么ude团队进行维护

这是它的[官网]https://cn.vuejs.org/
有一点需要注意的是,不兼容ie8及以下的浏览器

vue是渐进式JavaScript框架 用到什么功能,只需要引入什么功能模块 spa单页应用 v-router
vue的主张较弱
“渐进式框架”和“自底向上增量开发的设计”是Vue开发的两个概念

Vue可以在任意其他类型的项目中使用,使用成本较低,更灵活,主张较弱,在Vue的项目中也可以轻松融汇其他的技术来开发,并且因为Vue的生态系统特别庞大,可以找到基本所有类型的工具在vue项目中使用

特点:易用(使用成本低),灵活(生态系统完善,适用于任何规模的项目),高效(体积小,优化好,性能好)

Vue是一个MVVM的js框架,但是,Vue 的核心库只关注视图层,开发者关注的只是m-v的映射关系

那vue是如何创建或使用的呢

1.创建,vue实例中的数据是放在data里的,

new Vue({
   el: "#app",  //通过id或者class绑定到dom结构上
    data:{ //数据存储
        msg: "hello",//字符串
        num: 1,//number
        bool: true,//boolean
        nulls: null,
        udf: undefined,
        arr: [1,2,3],//数组
        objects: {name:"12",age:15}//对象
    }
})

2.那如何将数据展示在页面上

<div id="app">
    <p>{{msg}}</p>   
    <p>{{num}}</p>
    <p>{{bool}}</p>
    <p>{{nulls}}</p>
    <p>{{udf}}</p>
    <p>{{arr}}</p>
    <p>{{arr[2]}}</p>
    <p>{{objects}}</p>
    <p>{{objects.name}}</p>
</div> //在标签内部通过双括号括起来,null和undefined是不显示的

3.vue中也提供了很多for循环事件添加等等的方法

new Vue({
   el: "#app",
    data: {
        arr : [
            {name: "张xx",sex: "男", age: 15},
            {name: "宋xx",sex: "女", age: 18},
            {name: "逄xx",sex: "男", age: 25},
            {name: "王xx",sex: "男", age: 35}
        ]
    }
})
//在html中这样写
<table id="app">
  <thead>
        <tr>
            <th>姓名</th>
            <th>性别</th>
            <th>年龄</th>
        </tr>
    </thead>
    <tbody>
        <tr v-for="item in arr">
            <td>{{item.name}}</td>
            <td>{{item.sex}}</td>
            <td>{{item.age}}</td>
        </tr>
    </tbody>
</table>

通过v-for指定绑定,其中item是数组中的每一项,arr是data中的数组
4.现在知道了循环,那js中的事件如何添加
通过v-on绑定,也可以简写成 ‘@’,at符号,有多种方式进行绑定
①直接在v-on后面的事件中填写js代码
②在v-on后面添加事件的函数名,然后在vue中的methods属性处,写对应函数

<div id = "app">
	//第一种
	<p><button v-on:click="++num">单击加</button></p>
	<p><button @dblclick="--num">双击减</button></p>
	//第二种
	<p><button @contextmenu.prevent="contextmenu">右键点击</button></p>
</div>
//vue中代码
new Vue({
   el: "#app",
    data: {
        num: 1
    },
    methods: {
        contextmenu(e){
            console.log("右键菜单");
        }
    }
})

5.如何在页面上修改信息,并且页面展示上同时更新呢
vue提供了v-model这个方法,但是只可以用在input中

<div id="app">
    <input type="text" v-model="msg">
    <input type="checkbox" v-model="isBool">{{isBool}}
    <button @click="isBool=!isBool">{{msg}}</button>
    <p>
        <input type="text" v-model.lazy="msg">//失去焦点时触发
        {{msg}}
    </p>
    <p>
        <input type="text" v-model.number="msg">
        //默认将输入框中的数据进行parseFloat
        {{msg}}
    </p>
    <p>
        <input type="text" v-model.trim="msg">//去掉首尾的空格
        {{msg}}
    </p>
</div>
<script>
   new Vue({
        el: "#app",
        data: {
            msg: "sad",
            isBool: true
        }
    })
</script>

day01加油

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值