智能照明系统APP-本地串口
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
LightingSystemApp-serial/.svn/pristine/a1/a151d4787c25eacd5a59b51184f...

37 lines
909 B

import {
noop
} from 'uni-shared'
import {
updateProperties
} from './state/properties'
export function initMethods (vm) {
const oldEmit = vm.$emit
vm.triggerEvent = (eventName, detail, options) => {
const target = {
dataset: vm.$el.dataset
}
const event = {
target,
currentTarget: target,
detail,
preventDefault: noop,
stopPropagation: noop
}
oldEmit.call(vm, eventName, event)
}
// 主要是Vant 自己封装了 $emit,放到 methods 中会触发 Vue 的警告,索性,框架直接重写该方法
vm.$emit = (...args) => {
vm.triggerEvent(...args)
}
vm.getRelationNodes = (relationKey) => {
// 需要过滤已被销毁的vm
/* eslint-disable no-mixed-operators */
return (vm._$relationNodes && vm._$relationNodes[relationKey] || []).filter(vm => !vm._isDestroyed)
}
vm._$updateProperties = updateProperties
}