avalon 路由问题

 

1, 直接使用avalon的 amd加载器, 能够不须要 require.jsjavascript

 

2, 配置baseUrl 路径, 这个必定要在 js所在的目录,  而不是jsp所在的目录,  若是js 和jsp分开 html

   能够用 window.location.protocol + "//" + window.location.host 来获取网站资源路径java

   require 和 define 的依赖路径,  都是在baseUrl目录下面去找的ajax

 

3, avalon 的 define 依赖项不执行,  多是由于没有过 require一次, 浏览器

    因此在页面上应该先调用一次 require('../router.js' ,function(router){ router.init() } )jsp

 

4, 路由去下载templateUrl 的路径是根据 ajax去获取的, 在获取的时候没有根据 baseUrl 去组装网站

    js是根据 baseUrl 去组装下载ui

    这样的话, 就会根据浏览器的url去获取资源, 会可能出现错误, 由于html通常也和js一个地方url

 

    因此templateUrl 须要从新组装spa

  

avalon.state("sponseMeet", {
        url: "/",
        abstract: true, // 抽象状态,不会对应到url上
        views: {
            "": {
                templateUrl: baseUrl + "/html/sponseMeet.html", // 指定模板地址
                controllerUrl:  "./js/sponseMeet.js" // 指定控制器地址
            }
            
        }
    })

 

5, 这里的 sponseMeet 表示路由的名称

    url:"/"  表示这个路由在浏览器的显示形式 是  这样的  www.aa.com.. #!/

    在路由须要 avalon.router.go("sponseMeet") 才会进入这个页面

   

avalon.history.start({
                // basepath: "/mmRouter",
                fireAnchor: false
            })
            //go!!!!!!!!!
            avalon.scan();
            
            avalon.router.errorback = function() {avalon.router.go("sponseMeet");}

            avalon.router.go("sponseMeet");

 

 

  abstract: true  表示抽象模板, 不能被激活(除非这个view是根路径),  但他的子模板能够被激活, 

    抽象模板能够提供一个多个有名的模板, 或者它能够传递做用域的变量给子模板

    因此在根目录以外的路由, 若是也写abstract 为true,  是不会跳转的

 

6,  avalon.router.errorback = function() {avalon.router.go("sponseMeet");}

    这个配置是防止浏览器url被改, 或者出错的时候 , 直接跳到首页 , sponseMeet 这里就是首页的东西

 

7, smartGrid 参数传值挺麻烦, 

 

opertes:  function(vmId, field, index, cellValue, rowData) {
                            
                            var tags = '<a href="javascript:;" ms-click="removeMember(\''+ rowData.phone +'\')" >移除</a>&nbsp;&nbsp;&nbsp;&nbsp;';
                            var opyin = rowData.speakStatus == 'Speak' ? '开启静音' : '取消静音'
                             
                 // 使用JSON.stringify 报错, 使用  ',' 报错
                            tags += '<a href="javascript:;" ms-click="openQuiet(\''+ rowData.phone + ' ' + rowData.speakStatus +'\')" >'+opyin+'</a>&nbsp;&nbsp;&nbsp;&nbsp;';
                           
                        
                            return tags;
                        }
相关文章
相关标签/搜索