15年软件开发经验,只做源码定制!

原创设计 定制开发

满足您的个性化需求

当前位置:首页 前端开发 vue/vuex

vue实用技巧

梁鹏翱| 发布于 2021-11-15 17:21:19| 509阅读| 0点赞| 0评论
举报

vue实用技巧

数组过滤器--filter

filter()是一个数组方法,它会创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素,且它不会对空数组进行检测,也不会改变原始数组。
在vue中的使用

    methods: {
        //筛选方法调用
        mySearch() {
             //这里调用方法时不能用括号调用
            this.arrShwo = this.arrList.filter(this.searchCondition);
        },
        // 筛选条件(将筛选逻辑写在这里)
        searchCondition(arr) {
              //arr是接收的参数,也就是调用函数的数组即 this.arrList
             return arr.keyWord == this.word;
        },
    },
vue组件中引入模拟数据

开发过程中我们需要模拟后台请数据,这样会产生跨域请求问题,这里我们暂时不讲跨域。有时候我们会将模拟数据写在data中,这样就不会产生问题,相当于在js中定义了一个变量。那么问题来了,当我们的模拟数据很长的时候,写在组建里是不易阅读的,但有不想产生跨域问题,那么我们可以采取引用.js文件的方式来解决。

也就是说,在一个.js文件中定义一个变量,可以是数组,也可以是对象。再将它引入到组件内使用。

js中写法

export const test_data = [{
  name:'小明',
  age:'18'
}]

组件内写法

//引入data.js文件
import {test_data} from '@/assets/js/data.js'
// 定义长量来代替.js文件内的数据使用
const dataList = {
    test_data
}
子组件引用父组件数据,并改变时,导致父组件数据发生改变
let son =  jsON.parse(jsON.stringify(father));
v-bind 绑定属性

v-bind用于绑定html标签属性,可简写为:属性名,这里我们重点书一下class和style

:class

1.当使用v-bind绑定class时,如果标签原本就是class时,它并不会改变原本的class,而是会添加进去。
2.绑定或添加多个类名,可使用数组的方式,

:class="[class1,classIf ? 'class2' : 'class3' ]" >

可在data中定义classN的值,classIf是布尔类型,三元表达式,也可以使用 &&等逻辑表达式。
3.以对象形式绑定,当对象的value值为真时,则将对象的key值绑定在class上。对象可以写在数组里

:class="[{class1:ture},{class2:false}]" >

如果用v-bind绑定多个class ,只会识别第一个。

:style

v-bind绑定style的方式和:class类似。

<div
  :style="[{width:'100px'},{height:divHeight},divStyle]"
>
div>
0

0条评论

别默默看啦~登录/注册一起参与讨论吧~

热门标签

梁鹏翱
微信扫一扫立即咨询
账号登录|扫码登录

立即注册 |忘记密码?

欢迎注册

已有账号马上登录

重置密码

扫码绑定微信
微信扫一扫

绑定手机号

分享到-微信

举报

  • 举报类型:

  • 举报描述:

您好,当前积分不足。

在线客服
拨打电话
17330196230 13230981129
顶部