vue 使用小结 2019.03
v-bind 中使用函数
:attr = 'num'
如上面的例子,通常 num 是 vue 实例中 data 的值,或者是 computed 对象中的值,我们可以在具体函数中计算,改变相应的变量,以达到更改效果。
但是,在组件中,data 和 computed 中的变量都是(组件内)全局共享,某一处改变,其他依赖这个数据的地方也会改变,这对于需要独立作用的地方相当不友好。
最近碰到一个问题,在 v-for 中 每层循环中单独计算某个属性的绑定值,首先想到的是 :class="{...}" 和 :style="{...}" 。这两个属性的绑定值是一个对象,对象的 value 可以是某个函数的返回值,这样就可以在 methods 中定义计算函数了。但是很遗憾,vue 只对 class 和 style 做了特化,其他属性均不支持。
后来,文档中翻到了 filter 这个 api,项目中真的基本没用到过,可行。下附官方 demo:
<!-- 在双花括号中 -->
{{ message | capitalize }} <!-- 在 `v-bind` 中 -->
<div v-bind:id="rawId | capitalize"></div> filters: {
capitalize: function (value) {
// code
return ...
}
}
如果一个函数被限制了参数个数,那显然不是一个可复用的函数,当然,filter 中函数也支持多参数,官方文档摘录如下:
{{ message | filterA('arg1', arg2) }}
这里,filterA 被定义为接收三个参数的过滤器函数。
message 参数不写在调用的地方;
普通字符串 'arg1' 作为第二个参数;
表达式 arg2 的值作为第三个参数。
补充一个当初没细看文档的想法:在多参数的时候,将这些参数包装成 数组/对象,手动写成一个参数...逃...
$emit 中的传参的写法
在子组件中,可以通过 this.$emit('flag', xxx)把数据传递给父组件,如果在父组件中绑定回调函数时需要传入父组件中的参数时该如何处理呢?
写法如下:
// 子组件
this.$emit('test',1,2); // 父组件 可以有两种写法
// 必须写成 arguments , $emit 中提交的参数数量随意
@test='testFather(arguments, 888, 999)'; 或者 // 使用 $event 的话,只接受提交的第一个参数
@test='testFather($event, 888, 999)'; testFather(val, fatherParams01, fatherParams02) {
...
}
vue 使用小结 2019.03的更多相关文章
- 如何优雅的使用vue+vux开发app -03
如何优雅的使用vue+vux开发app -03 还是一个错误的示范,但是离优雅差的不远了... <!DOCTYPE html> <html> <head> < ...
- [2019.03.25]Linux中的查找
TMUX天下第一 全世界所有用CLI Linux的人都应该用TMUX,我爱它! ======================== 以下是正文 ======================== Linu ...
- 2019.03.03 - Linux搭建go语言交叉环境
编译GO 1.6版本以上的需要依赖GO 1.4版本的二进制,并且需要把GOROOT_BOOTSTRAP的路径设置为1.4版本GO的根目录,这样它的bin目录就可以直接使用到1.4版本的GO 搭建go语 ...
- vue开发小结(下)
前言 继前几天总结了vue开发小结(上)后,发现还有很多的点没有能列举出来,于是还是打算新建一个下篇,再补充一些vue开发中需要注意的细节,确实还是都是细节的问题,我只是在这里强调下,希望对大家有帮助 ...
- 大白话Vue源码系列(03):生成render函数
阅读目录 优化 AST 生成 render 函数 小结 本来以为 Vue 的编译器模块比较好欺负,结果发现并没有那么简单.每一种语法指令都要考虑到,处理起来相当复杂.上篇已经生成了 AST,本篇依然对 ...
- Vue学习小结(二)
接上一批,小结(二). 三.导航内容(含左侧导航及顶部面包屑导航) 其实导航条主要根据element-ui的教程进行编写,官网:http://element-ui.cn/#/zh-CN/compone ...
- Vue学习小结(一)安装依赖与数据来源
不多说啥了,生活中都是各种阵痛与惊喜.最近在学习vue框架,刚写完一个小型的后台管理系统(https://github.com/michaelzhengzm/info-manager-systerm_ ...
- Vue使用小结
公司新项目使用Asp.Net Core+Vue组合来做,这里总结下对于Vue的认识 为什么选择Vue 主要基于以下几点选择Vue而不是jQuery.React等框架 双向绑定相比于jQuery减少了许 ...
- vue视频学习笔记03
video 3 git page:任何仓库 master分支,都可以发布(git page)-------------------------------------双向过滤器:Vue.filter( ...
随机推荐
- 微信公众平台设置URL和Token接收接口事件推送
最近做对接微信闪开发票-微信发票名片,里面有个接收用户提交抬头接口是微信推送事件到公众号后台,该事件将发送至开发者填写的URL(登录公众平台进入[开发者中心设置]). 开发者可通过事件推送完成数据统计 ...
- 免费开源ERP Odoo实施指南 连载二:POSTGRESQL概述
PostgreSQL是Odoo支持的数据库.PostgreSQL是起源于大学的一个历史很长的开源数据库系统.包括美国航天局NASA.德国证券交易中心.中国的平安.腾讯的微信支付.阿里巴巴的阿里云都在用 ...
- GsonFormat插件
GsonFormat插件可以根据JSONObject格式的字符串,自动生成实体类参数. 要使用这个插件,首先要做的事下载它.方法如下: 方法一: 1.Android studio File->S ...
- Android Picasso最详细的使用指南
Picasso 是Square 公司开源的Android 端的图片加载和缓存框架.Square 真是一家良心公司啊,为我们Android开发者贡献了很多优秀的开源项目有木有!像什么Rerefoit . ...
- QT使用websocket进行长连接
一般我们用的最多的就是http请求,但是频繁的请求可能对服务造成的压力很大,所以今天谈谈websocket长连接,一句话:简单 1.什么是长连接? A:一次请求连接,终身使用,就可以长久的保持信息的交 ...
- VMware+centos7克隆多个虚拟机
最近在学习Hadoop,需要搭建分布式集群,自己在电脑上安装的VMware+centos7.前期我已经安装好了一个虚拟机,并把apache,jdk等的环境都配置好了,现在需要搭建集群了,所以需要克隆三 ...
- Camera Binning Mode
Camera Binning Mode:像素合并模式,将相邻的像素单元电荷通过物理的方法叠加在一起作为一个像素输出信号: 水平方向Binning: 同列相邻行的电荷叠加 垂直方向Binning: ...
- NSTimer 不工作 不调用方法
比如,定义一个NSTimer来隔一会调用某个方法,但这时你在拖动textVIew不放手,主线程就被占用了.timer的监听方法就不调用,直到你松手,这时把timer加到 runloop里,就相当于告诉 ...
- User Agent 大全
一.基础知识篇: Http Header之User-Agent User Agent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA.它是一个特殊字符串头 ...
- pycharm导入自定义py文件出错
1. 被导入的py文件不能以数字开头,否则会报错,红色波浪线