mmRouter icon indicating copy to clipboard operation
mmRouter copied to clipboard

常见问题&以及解决方案 - 看过来

Open gogoyqj opened this issue 9 years ago • 3 comments

TypeError: avalon.require is not a function --mmState.js 有什么办法,用的是avalon.shim.js

重写avalon.controller.loader【或者avalon.require = requrejs,如果你使用的是requirejs】 这是默认的loader:

avalon.controller.loader = function (url, callback) {
        // 没有错误回调...
        avalon.require(url, function ($ctrl) {
            callback && callback($ctrl);
        });
    };

重写为:

avalon.controller.loader = function (url, callback) {
        // 没有错误回调...
        requrejs(url, function ($ctrl) {
            callback && callback($ctrl);
        });
    };

请确保以上的操作发生在:

            avalon.history.start({
                // basepath: "/mmRouter",
                fireAnchor: false
            })

之前

gogoyqj avatar Jun 11 '15 03:06 gogoyqj

打印错误,请配置:

avalon.state.config({
    onError: function() {console.log(arguments)}
})

gogoyqj avatar Jun 11 '15 03:06 gogoyqj

引入./mmRouter/mmState回调未执行,报" avalon.state is not a function"或者"avalon.ajax is not a function"

  • requirejs的loader和avalon的loader存在一些区别,这个暂且看起来需要把mmState.js里define的一个参数name以及mmRequest.js的define第一个参数name去掉

gogoyqj avatar Jun 11 '15 05:06 gogoyqj

例子: https://github.com/gogoyqj/mmRouter-demo-list

gogoyqj avatar Jun 11 '15 07:06 gogoyqj