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

avalon 路由问题的更多相关文章

  1. avalon.js路由

    之前自己写了一个AJAX加载页面的方法:有时候一个页面里面会分区域加载不同的东西(div,html),但是IE的回退按钮,就失去任何意义了: 这两天研究了一下avalon.js的路由: 需要准备: 1 ...

  2. 前端神器avalonJS入门(三)

    本章将介绍如何使用avalon来实现前端路由功能. 我们需要用到两个avalon路由配套模块—— mmHistory.js 和 mmRouter.js .其中mmHistory是用于历史管理,它会劫持 ...

  3. avalonJS入门

    前端神器avalonJS入门(一) posted @ 2014-10-31 17:44 vajoy 阅读(8759) 评论(42) 编辑 收藏   avalonJS是司徒正美开发和维护的前端mvvm框 ...

  4. MVC、MVP、MVVM、Angular.js、Knockout.js、Backbone.js、React.js、Ember.js、Avalon.js、Vue.js 概念摘录

    注:文章内容都是摘录性文字,自己阅读的一些笔记,方便日后查看. MVC MVC(Model-View-Controller),M 是指业务模型,V 是指用户界面,C 则是控制器,使用 MVC 的目的是 ...

  5. 前端展望:取avalon,弃angular

    打给比方,如果说angularJS是剑,那么avalon就是匕首.匕首比剑更易学,更快,更适合快速作战... 我们还是直接来实际的吧:   目前项目开发中有以下几个通用需求: 有前端路由系统,用来划分 ...

  6. avalon学习笔记

    背景: 刚刚到一家新的公司,我新接手的项目采用的mvvm框架是avalon,当然我以前没有学过angular,但是用过react,所以对于这类框架应该不算陌生.但毕竟是一个新的框架,所以还是先学起来, ...

  7. 用avalon实现一个完整的todomvc(带router)

    照着todomvc官网的例子,做了一个avalon版的todos,功能全都有了,而且加了router模块,比司徒大大写的都完善(≧▽≦)/~ js文件整整100行,初次使用avalon,书写过程中绕了 ...

  8. webpack+avalon+mmState打包方案

    终于到讲授如何整合avalon社区这个最强大的组件,基于状态机的路由系统了! 基于状态机的路由系统,据我所知,目前世界上只有三款,angular社区的ui-router, 网易出品的stateman, ...

  9. webpack打包avalon+mmRouter

    这是上一篇<webpack打包avalon+oniui+jquery>的姐妹篇,avalon 的高级应用篇.大家要知道,现在最流行的网页架构就是SPA,SPA能提高用户体验.用户许多数据都 ...

随机推荐

  1. nohup 日志切割

    最近遇到日志切割的问题,即程序是通过命令: nohup python *.py & 放到后台执行的,这样程序的日志输出到了nohup自动生成的nohup.out文件. 问题就来了,nohup. ...

  2. UVa 1625 颜色的长度

    https://vjudge.net/problem/UVA-1625 题意: 输入两个长度分别为n和m的颜色序列,要求按顺序合并成同一个序列,即每次可以把一个序列开头的颜色放到新序列的尾部.对于每个 ...

  3. jdk、tomcat、solr环境搭建

    环境概述 1)操作系统:windows7旗舰版(64位) 2)jdk:jdk-8u131-windows-x64: 3)tomcat:apache-tomcat-9.0.0.M21 4)solr:so ...

  4. Redis集群学习笔记

    Redis集群学习笔记 前言 最近有个需求,就是将一个Redis集群中数据转移到某个单机Redis上. 迁移Redis数据的话,如果是单机Redis,有两种方式: a. 执行redis-cli shu ...

  5. ubuntu14.04上 nginx启动停止

    sudo service nginx stop  停止 sudo nginx   启动

  6. stack_01

    A.添加/移除 A.1.void stack::push(elemValue); // 栈头 添加元素 A.2.void stack::pop(); // 栈头 移除第一个元素 B.随机存取 C.数据 ...

  7. Fragment 的生命周期及使用方法详解

    Fragment 的基础知识介绍 1.1 概述 1.1.1 特性 By hebang32624 Fragment 是 activity 的界面中的一部分或一种行为.可以把多个 Fragment 组合到 ...

  8. 从celery rabbitmq with docker-compose 引出对容器、依赖注入、TDD的感悟

    用docker配置项目管理系统taiga的时候,不是我一个人遇到这个问题.https://github.com/douglasmiranda/docker-taiga/issues/5 问题描述: 用 ...

  9. consensus sequence

    consensus sequence:称为一致序列.一些遗传元件(如启动子)中反复出现且很少有改变的DNA序列.不同种生物编码同一种蛋白质的基因也会有共有序列.通过序列比较发现相似但不一定完全相同的核 ...

  10. 『Sklearn』数据划分方法

    原理介绍 K折交叉验证: KFold,GroupKFold,StratifiedKFold, 留一法: LeaveOneGroupOut,LeavePGroupsOut,LeaveOneOut,Lea ...