Vue必备知识点

箭头函数

在ES6中如果出现匿名函数,则省略function,在参数后添加=>

                                           如果存在一个参数,则省略括号,没有参数或一个参数以上不能省略

                                           如果函数只有一句或只有return语句,则去掉大括号和return关键字

原:

let demo = function(val){

cl(val)

}

现:

let demo = val=>cl(val)

1:v-bind(绑定元素的属性)

<tagName :属性名="初始化的值" />
<tagName :src="mySrc" />

2:v-on(绑定元素的动作)

<tagName @事件="函数" />
<tagName @click="handleAdd" />

3:大胡子表达{{}}

4:计算属性:双向绑定,不能异步

侦听器:单项绑定,可以异步

函数:单项绑定,可以异步

5:v-if:载入消耗小,切换消耗大

v-show:载入消耗大,切换消耗小

6:列表渲染

v-for:迭代数组

<tr v-for="(person,index) in persons" :key="person.id">

v-for="(alias,index) in 数组"

alias:别名

index:索引

:key绑定主键进行排序

数组必须是Vue实例化的数据,在data里

v-for:迭代对象

<ul>
  <li v-for="(value,name,index) in hero" :key="index">
     第{{ index }}个属性名是{{ name }},属性值是{{ value }}
  </li>
</ul>

v-for="(value,name,index) in 对象"

value:属性值

name:属性名

index:索引

7:过滤器(不能使用this)

        大胡子表达式

 <!-- {{ 被过滤的值 | 过滤器名 | 过滤器名 }} -->
<td>{{ person.payType | payFilter }}</td>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以下为正确写法
<input type="text" :value="被过滤的内容|过滤器名">

        数据源,要实例化(真实项目可不写)

/* 设置数据源 payType:支付方式 1|2|3|4 */
const persons = [
    { id: 1, name: 'elena', payType: 1, },
    { id: 2, name: 'penny', payType: 2, },
    { id: 3, name: 'tommy', payType: 3, },
    { id: 4, name: 'matt', payType: 3, },
    { id: 5, name: 'aleric', payType: 4, },
    { id: 6, name: 'jack', payType: 2, },
    { id: 7, name: 'bonnie', payType: 4, },
    { id: 8, name: 'raj', payType: 1,},
]

        数据字典

/* 书写一个数据字典 */
const payOptions = [
    { id: 1, payName: '现金支付', },
    { id: 2, payName: '银行卡支付', },
    { id: 3, payName: '微信支付', },
    { id: 4, payName: '支付宝支付', }
]

        过滤器

filters:{
    /* 过滤器名 val:形参,表示被过滤的值 1|2|3|4 四选一 */
    payFilter(val){
        //console.log(this)     window
        /* 
        const arr = [1,2,3,4]
        let value = arr.find(a => a>=2) //2
        */
        const payObj = 
        payOptions.find( payOption => payOption.id === val )
        return payObj?payObj.payName:''
    },
},

        非箭头函数版本过滤器

filters:{
    /* 过滤器名 val:形参,表示被过滤的值 1|2|3|4 四选一 */
    payFilter(val){
        //console.log(this)     window
        /* 
        const arr = [1,2,3,4]
        let value = arr.find(a => a>=2) //2
        */
        const payObj = payOptions.find(function(payOption) {
           return payOption.id === val;
        });
        return payObj ? payObj.payName : '';
        },
},

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值