bind view action and model

This commit is contained in:
pengfei.zhou
2019-07-24 17:24:00 +08:00
parent 43fd9fedd1
commit 69f424f013
2 changed files with 16 additions and 9 deletions

View File

@@ -1,12 +1,17 @@
import { View, Group } from "../ui/view";
import { Panel } from "../ui/panel";
import { loge } from "../util/log";
function listen<T extends Object>(obj: T, listener: Function): T {
return new Proxy(obj, {
get: (target, prop, receiver) => {
const ret = Reflect.get(target, prop, receiver)
if (ret instanceof Object) {
if (ret instanceof Function) {
return () => {
return Reflect.apply(ret, receiver, arguments)
}
} else if (ret instanceof Object) {
return listen(ret, listener)
} else {
return ret