mmRouter icon indicating copy to clipboard operation
mmRouter copied to clipboard

使用avalon.mobile.js时router会报错

Open tower1229 opened this issue 10 years ago • 4 comments

mmRouter示例页面(https://github.com/RubyLouvre/mmRouter/blob/master/index2.html )默认使用的是avalon.js也就是全兼容版本的avalon,路由功能都正常,但是只要换上avalon.mobile.js就会报错。 我用的chrome40,avalon.mobile版本是1.391,控制台报错:“warning: home状态对象的【】视图对象 必须存在template, templateUrl, templateProvider中的一个”。

tower1229 avatar Jan 28 '15 07:01 tower1229

没有人维护?

tower1229 avatar Jan 29 '15 04:01 tower1229

听同事说是修好了,你给一些复现步骤

RubyLouvre avatar Jan 29 '15 06:01 RubyLouvre

好吧,代码刚贴到avalon那边了,再贴一遍,进入框架页面后点二级链接在ie11和android4.0都不触发路由:

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, user-scalable=no" />
<title>pptViewer</title>
<link href="css/style.css" rel="stylesheet" />
<script src="lib/avalon.mobile.min.js"></script>
<script>
require(["ready!", "mmState", "mmRequest.modern"], function() {
    //顶层VM
    avalon.define({
        $id:"app",
        islogin:true,
    });
    // 路由
    avalon.state("ppt",{
        controller:"app",
        url:"/ppt",
        onChange:function(){
            if(!avalon.vmodels.ppt) {
                alert("获取初始数据,马上进入下一层")
                var model = avalon.define({
                    $id:"ppt",
                    currentChannelName :"",
                    ppt :[]
                })
                setTimeout(function(){
                    avalon.router.navigate('/ppt/hot');
                },0)
            };
        },
        views:{
            "":{
                template : "<div>框架界面<div ms-view></div></div>"
            }
        },
        onAfterLoad:function(){

        }
    })

    avalon.state("ppt.list",{
        controller:"ppt",
        url:"/{type}",
        onChange:function(type){
            alert(type);
            if(!avalon.vmodels.ppt) {
                avalon.router.navigate("/ppt");
                return;
            };
        },
        views:{
            "":{
                template:"<p> <a href='#!/ppt/hot'>热门</a> <a href='#!/ppt/all'>全部</a> <a href='#!/ppt/mine'>我的</a></p>"
            }
        }
    })

    avalon.history.start();

    avalon.scan();

})
</script>
</head>
<body ms-controller="app">
    <div ms-view><a href="#!/ppt">点击</a></div>
</body>
</html>

tower1229 avatar Jan 29 '15 06:01 tower1229

更新一下js看看,我这边试好像是mobile.js require的路径算不对啊

gogoyqj avatar Mar 03 '15 08:03 gogoyqj