Vue2核心入门

5 篇文章 0 订阅

本文不囊括VUE全部知识点,仅仅介绍常用到的一些知识,因此没有按照模块划分知识点,而是以功能点逐个介绍,通过下面的案例展示,更多知识参见官网https://v2.cn.vuejs.org/

冯金平案例code,本地走一遍理解
<div id="app">
    用户名:<input type="text" v-model="nickName">
    数量:<input type="button" v-model="num" @click="incre">
   <br>
    打包好的商品:
    <ul>
        <li v-for="(s,index) in shop" :key="index">
            名称:{{s.title}}
            价格:{{s.price}}
            数量:{{s.nums}}
        </li>
    </ul>
    总价:{{this.totalprice}}
    <ul >
        <li v-for="(a,i) in addrList" :key="i">
            <div :class="selectedAddr === i" @click="selectedAddr = i">
              备选收货人列表:  {{a.name}}
            </div>
        </li>
    </ul>
    <h4>你选择的收货人:{{addrList[selectedAddr].name}},收货地址:{{addrList[selectedAddr].addr}}</h4>

</div>


</body>
<script src="https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.js"></script>
<script>
    var app = new Vue({
        el: "#app",
        data:  {

            nickName: "张三",
            shop: [
                {
                    title: "丽江的机票",
                    price: 3 ,
                    nums: 1
                },
                {
                    title: "三亚的游艇",
                    price: 2 ,
                    nums: 1
                },
                {
                    title: "滚烫的砖头",
                    price: 1 ,
                    nums: 1
                }],
            addrList: [{
                name: "fengjinping",
                phone: 10086110000,
                addr: "新疆阿里区第三党支部办公室"
            },{
                name: "Test",
                phone: 11000010086,
                addr: "生罗门群岛"
            }],
            selectedAddr: 0,
            num: 1,

        },
        methods: {
            incre(){
                this.num++;
            }
        },
        computed:{
            totalprice(){
                return this.shop.map(s=>s.price*s.nums).reduce((v1,v2)=>v1+v2,0)*this.num;
            }
        },
        watch:{
            nickName(newval,oldval){
                console.log(oldval+"变身成为:"+newval)
            }
        }

    });
</script>

VUE应用的入口

vue项目入口是新定义的vue实例,Vue2的定义方式是
var app = new Vue({})
var定义的是全局变量,let定义变量当前范围局部有效,cost定义的是常量

Vue导入方式

  • 官网下载:https://v2.cn.vuejs.org/v2/guide/installation.html
  • 本地module导入,选择对应的vue.js文件
  • cdn联网导入,需要网络环境,本文采用

动态绑定v-model

控制台修改浏览器同步变化
1
浏览器输入,控制台变化
在这里插入图片描述

点击函数@click=“函数名”

incre(){
this.num++;
}

for循环取值v-for

v-for=“(s变量,index索引) in shop数据” :key=“index”
:key=“index中,这个值必须是不可以重复的索引,不一定是当前索引,如下
v-for=”(s变量) in shop数据" :key=“s.id”

计算属性computed

去这个值的时候记得使用this.属性名,否则取不到,this,这里是当前的vue实例
{{this.totalprice}}

插值表达式 {{}}

json格式

应注意变量:(空格)值,否则undefined

watch 监听

这个值那必须被定义在data且wath方法与这个定义属性名同名,此方法第一位是新数据
watch:{
nickName(newval,oldval){操作}}
data: {
nickName: “张三” }

xinjiu

data

数据都需要定义在此处

el绑定

将vue实例帮顶到某个区域
el: “#app”,

es的map和reduce

都可以处理函数区别在于reduce方法定义必须,map可选,且上一个返回值将被传入这次的计算中,默认值可以不设置
二者内部都可以定义方法,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值