总所周知,在前端开发中,大家用的比较多的框架就是angular,vue,react等,今天就为大家讲一下angular大家框架的原理及运用
1.本次所举的例子是以依赖require.js的,
<script src="js/libs/require-2.3.3.min.js" data-main="main" charset="utf-8"></script> <script> document.documentElement.style.fontsize=innerWidth/3.75+"px"; window.onresize=function(){ document.documentElement.style.fontsize=innerWidth/3.75+"px"; } </script> </head> <body> <div id="content" ui-view></div> <div id="tab"> <ul> <li ui-sref="home"><a href=""><span></span><p>首页</p></a></li> <li ui-sref="logistics"><a href=""><span></span><p>物流</p></a></li> <li ui-sref="shopCar"><a href=""><span></span><p>购物车</p></a></li> <li ui-sref="mine"><a href=""><span></span><p>我的淘宝</p></a></li> <li ui-sref="more"><a href=""><span></span><p>更多</p></a></li> </ul> </div> </body>
2.首页里,require.js里面的data-main=“main”是 为了引入main.js,
require.config({
paths: {
'angular': 'js/libs/angular-1.4.6.min',
'app': 'js/app',
'uiRouter': 'js/libs/angular-ui-router-0.4.2.min',
'home': 'component/home/home',
'mine': 'component/mine/mine',
'logistics': 'component/logistics/logistics',
'search': 'component/search/search',
'shopCar':'component/shopCar/shopCar',
'more':'component/more/more'
},
shim: {
'uiRouter': {
deps: ['angular']
},
'lazyLoad':['angular'],
'home':['uiRouter'],
'more':['uiRouter'],
'search':['uiRouter'],
'shopCar':['uiRouter'],
'mine':['uiRouter'],
'logistics':['uiRouter'],
'app': {
deps: ['uiRouter','angular']
}
}
});
require(['app','angular'],function(){
angular.bootstrap(document,['myModule']);
});
3.上面的config就是配置一些路径什么的,下面的require就是手动启动angular;
define(['uiRouter','home','mine','logistics','search','shopCar','more'],function(){
var app=angular.module('myModule',['ui.router',"homeModule","mineModule",
"logisticsModule","moreModule","searchModule","shopCarModule"])
.config(function($stateProvider,$urlRouterProvider){
$urlRouterProvider.otherwise("/home");
})
})
4.此处define里放在数组里的是在之前配置路径时候取得名字,记住一定要一样,var app=里面的是在各个页面js里设置的模块化的名称,一定要 书写进去的,不然会报错的
define(['uiRouter'],function () {
angular.module("mineModule",['ui.router'])
.config(function ($stateProvider,$urlRouterProvider) {
$stateProvider
.state("mine",{
url:"/mine",
templateUrl:"component/mine/mine.html",
})
})
})
5.以上是在我的页面里的 js里配置的,一级路由到此就算是配置成功了
6.注意angular的 版本问题,如果使用其他的版本会报错的,可能是不稳定吧,我也不知道根本的原因!
总结:我自己写出来也是方便自己复习巩固,学习 就是 这么一个过程,努力了就会有回报,不努力何谈回报,希望有志于成为前端人员里的一员的你,好好学习!