packages/okam-core/src/extend/data/observable/quick/index.js
function addDataChangeWatcher(ctx, prop, deep) {
    // in quick app, the watch handler does not support dynamic added methods
    // let handler = '__handleDataChange$' + prop;
    // ctx[handler] = (newVal, oldVal) => ctx.__handleDataChange(
    //     prop, newVal, oldVal
    // );

    // FIXME: array cannot support deep watch in quick app when change array item info
    let handlerName = getInnerWatcher(prop);
    watchDataChange.call(ctx, prop, handlerName, {deep});
}
function addDataChangeWatcher(ctx, prop, deep) {
    // in quick app, the watch handler does not support dynamic added methods
    // let handler = '__handleDataChange$' + prop;
    // ctx[handler] = (newVal, oldVal) => ctx.__handleDataChange(
    //     prop, newVal, oldVal
    // );

    // FIXME: array cannot support deep watch in quick app when change array item info
    let handlerName = getInnerWatcher(prop);
    watchDataChange.call(ctx, prop, handlerName, {deep});
}
Add data change watcher

@inner
@param {Object} ctx the component instance
@param {string} prop the data prop name
@param {boolean=} deep whether watch deep