dva-generator icon indicating copy to clipboard operation
dva-generator copied to clipboard

dva tip

Open jnotnull opened this issue 8 years ago • 0 comments

  1. 在初始化模型setup中获得url参数
 subscriptions: {
   setup({ dispatch, history}) {
     history.listen((url, state) => {
       if (pathToRegexp('/static/room/ctrlmemberdetail').test(url.pathname)) {
         dispatch({type:'initData', payload: {chatroom_id: url.query.chatroom_id, wechat_id: url.query.wechat_id}});
       }
     });
   }
 }, 
  1. 本地开发请求支持跨域,proxy.cofig.js中增加如下:
module.exports = {
  '/scrm/chat/*': 'http://192.168.5.46:8080/'
};
  1. jsx支持calc
style={{width: 'calc(100% - 20px)', marginLeft: "20px"}}
  1. 解决less中calc冲突
left: e("calc(50% - 70px)");
  1. 支持绝对路径引入组件
webpackConfig.resolve = {
    modulesDirectories: ['node_modules', 'app']
  };
  1. effects中在回调中执行其他effects
subscriptions: {
        setup({ dispatch, history, state, props }) {
            history.listen((query, state) => {
                dispatch({ type: 'initData', payload: { query, namespace, dispatch } });
            });
        }
    },
    effects: {
        initData: [function*({ payload }, { put, call, select }) {
            
            // 执行回调
            let callback = function(params){
                payload.dispatch({ type: 'querysiteinfo', payload: { site_id: params.site_id, origin: params.payload } });
                payload.dispatch({ type: 'querypostdetail', payload });
            };

            yield put({ type: 'querynavdata', payload: { query: payload.query, namespace, callback } });
        }, { type: 'takeLatest' }],

    },

jnotnull avatar Apr 14 '17 03:04 jnotnull