1, 直接使用avalon的 amd加载器, 可以不需要 require.js

 

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

   可以用 window.location.protocol + "//" + window.location.host 来获取网站资源路径

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

 

3, avalon 的 define 依赖项不执行,  可能是因为没有过 require一次, 

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

 

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

    js是根据 baseUrl 去组装下载

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

 

    所以templateUrl 需要重新组装

  

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;
                        }