发表于: 2017-04-09 23:31:56
1 1185
今天完成的事情:学习ui-router,完成了任务6
明天计划的事情:继续学习angular,并开始做任务7
遇到的问题:很多
一、ui-router能做什么?
用来在一个页面上引入另一个页面。引入的页面作为子页面(路由页面),显示在主页面上。这个路由页面能再引入它的子级路由页面。
二、引入ui-router
ui-router是一个第三方插件,下载好之后需要在angular.js之后引入。用第三方的ui-router而不是angular官方的router,据说原因是这样:ui-router更好用,例如angular官方的router不能路由不能嵌套,而ui-router可以。
二、ui-router的使用格式
js中配置第一级和第二级路由页面:
var myApp = angular.module("test", ['ui.router']);
myApp.config(function ($stateProvider, $urlRouterProvider) {
//路由错误时的现实页面
$urlRouterProvider.when("", "/PageTabaa");
$stateProvider
//第一级路由页面
.state("PageTabccccc", {
url: "/PageTabaa",
views: {
//"sidebar"对应html文件中的data-ui-view="sidebar"
//如果主页面只有一个data-ui-view,views可以省略掉,
// 把templateUrl直接写在外面
"sidebar": {
templateUrl: "top-router-html/PageTabaa.html"
}
}
})
//第二级路由页面
.state("PageTabccccc.Page1", {
url: "/Page1",
templateUrl: "top-router-html/html-second-router/Page1.html"
})
.state("PageTabccccc.Page2", {
url: "/Page2",
templateUrl: "top-router-html/html-second-router/Page2.html"
})
.state("PageTabccccc.Page3", {
url: "/Page3",
templateUrl: "top-router-html/html-second-router/Page3.html"
});
});
一开始PageTabaa和PageTabccccc都叫PageTab,而且这个名字和路由页面的html文件名字也一样。
那么.state() url tempalateUrl 文件夹的名字,这几个PageTab到底是什么关系呢?
改名字试了一下,就如同上面那样了。
下面是并不一定准确的答案:.state里的名字可以随便取。而url和tempalateUrl(它里面引的是文件路径)的名字要和路由页面的html文件的名字一样。
二级子页面也是同样的道理
三、路径问题:
html 、css 、js文件的存放的路径问题
文件没有放在同一级,而是根据路由的层级关系来嵌套文件存放的:
展开:
使用相对路径引入文件时:
js文件中的文件引用路径,如templateUrl的路径以html文件为参考
路由页面引入css文件,没有懒加载,所以直接在路由html文件中引入的css文件。引入路径时,这时要以该路由页面为参考。
如果在主页面直接加载路由页面的css文件,则要以主页面为参考。
在css文件中引入图片,以该css文件为参考。
四、路由页面的html文件的js不是用angular写的,而是jq。这样js文件就不能直接生效了,需要从新写才行,据说也可以使用$state.go()
收获:
学习了总线结构,总线按功能分为:DB、AB、CB
按结构分为:内部总线和外部总线
cpu工作过程:从程序段读指令,会根据代码和外部信号读地址、读写数据、发出或者接收控制信号
中断:让cpu停止当前的代码段的处理,并将断点和中断现场保存起来,然后去执行中断。
多个中断同时发生:会有优先级判断的,cpu自己能处理好。
其实很多东西对用户都是透明的。
评论