顶级函数
log() 调试打印
即console.log的简写
timeout(ms) 稍等
即setTimeout,暂停执行后续表达式ms毫秒(默认为0)以让出CPU去执行其它任务。常用于等候页面重渲染以取得渲染后的元素
upload(file, onExp) 上传
上传到平台的对象存储服务器。
file:文件,必传,通常是从file类型的input组件的onChange事件中获取:$el.files[0]
。
onExp:事件回调表达式可包含如下选项onStart
:开始上传表达式,可在此添加上传进度条。onProgress
: 进度表达式,根据进度百分比percent
来渲染上传进度的视觉效果。onSuccess
:上传成功表达式可以拿到此文件在cdn对应的url
。通常在这里使用url更新数据、修改$resource表。onError
:上传失败里可以打印error,提示用户等。
上传前会根据file的信息在$resource表里创建一条记录,于是这些表达式当前上下文$ctx都包含:_id,auth,type,name,size,format,file
;而原来的上下文(即表达式的外部$ctx)则放入了$ext
。
其中类型type
如果文件是图片它的值为i
,视频则为v
,其它文件为f
;文件大小size
的单位是KB;文件格式format
也就是文件后缀。上传成功前没有URL,如果是图片或视频可以使用URL.createObjectURL(file)
来创建缩略图。
这些表达式通常都写在$exp里面,这样就可以把$exp直接作为option传入即可。它们都是可选的,甚至都不写而通过下一行表达式来实现onSuccess, onError的功能,如果有$r.url说明上传成功,否则失败,失败时有$r.error。