angularJS组件化的项目流程
来源:互联网 发布:迈思网络克隆软件 编辑:程序博客网 时间:2024/06/06 07:33
angularjs项目
不管是angular 还是vue 、react等等,作为一个框架最终都服务于一个产品,那么他所包含的所必须的功能就是项目的重点,例如:表单、搜索、购物车等功能。确定完需求,我们就开始项目的搭建。
第一步 || 路由配置
1、环境的配置,在这里使用的是angularjs1的版本 采用组件化的方式进行开发。
2、基础路由的配置我们这里使用的是ui-router 我们把它放在app.js里
angular.module('maoyan',[ 'ui.router', 'angularCSS', 'searchComp', 'willShowComp', 'mineComp', 'findComp', 'classifyComp', 'storeComp', 'cinema-descComp', 'sortComp', 'topicComp',]) .config(function ($stateProvider, $urlRouterProvider) { $urlRouterProvider.otherwise('/begin'); })//在这里我们引入所需要的所有依赖项,配置一下在错误输入情况下所需要跳转的界面
接下来配置每个文件的路由大概是这样个
angular.module('mineComp',[])//与路由名相对应 .config(function ($stateProvider,$urlRouterProvider) { $stateProvider .state('mine',{ url:'/mine',//url地址 templateUrl:'components/homeMine/mine/mine.html',//引入css css:'components/homeMine/mine/mine.css', controller:'mineCtrl'//控制器的名字与下面的控制其对应 }) }) .controller('mineCtrl',['$scope',function ($scope) {})
其他页面的路由配置差不多,依次完成
第二步 || 进行spa界面的设置
<div ui-view=""></div> <div class="footer"> <ul> <li ui-sref="hotShow">电影</li> <li ui-sref="cinema" class="cinema">影院</li> <li ui-sref="find">发现</li> <li ui-sref="mine" class="mine">我的</li> </ul> </div> //index.html页面的主要作用就是进行spa的路由,其他主要内容都在components里
第三步 || 分页面的编写
分页面的编写无需头部和尾部直接写主要内容即可,css和html在路由里已经配置好,所以只需要引入index.js就行.
分页面的编写需要注意的点有
1:注意ng-语法的运用 ng-click ,ng-change,ng-bind,和ng-表单的运用, 如果动态添加的数据你对其进行操作时 需要进行监听,语法在这里不详细讲述。
<div class="swiper-slide" ng-repeat="x in itemAs"> <a href="">{{x.a}}</a> <fieldset><legend>{{x.b}}</legend></fieldset> <img ng-src="{{x.c}}" alt=""> <p></p> </div> //这里贴出一个ng-repeat使用的例子,主要是运用到了service来得到数据,在页面上用ng-repeat来解析呈现。
2:angular里不推荐用dom操作尽量都封装在自定义指令里进行使用,
.directive("clickUl",function () { return{ restrict:"A", link:function ($scope ,elem ,attrs) { $(elem).on('click','li',function (e) { console.log(e.target.innerText); }) } } }) //html——<ul class="hs_list" click-ul >
3、页面传值
推荐一个网站: 炮灰神的博客有详细的介绍
http://www.cnblogs.com/Razor0/p/5200435.html
常用的是$$state.go()和factory的方法
$state一般只能带一个参数,factory的方法因为是对象存储可以带多个参数。
第四步 || angular 的调试
不得不承认angular的调试是比较愁人的,网上的相关解读也比较少,在这里说一下我调试的办法。
1、
一般报[ injector:modulerr ] http://errors.angularjs.org/1.2.16/$injector/modulerr?p0=mainApp&
一般是路由出现问题,调试要一个一个模块去找,看看有没有少字符/错误字符
2、结尾带有undefined的问题
Error: [ng:areq] http://errors.AngularJS.org/1.4.8/ng/areq?p0=HelloCtrl&p1=not%20a%20function%2C%20got%20undefined
这个错误的出现一般是没有使用module 或者没有引入js文件的问题。
其他的情况就要具体问题具体分析了,建议搭建完整体的路由后确保无误在进行下一步。
大概就这么多,经验较少,有错误的话,还请指教O(∩_∩)O哈!
- angularJS组件化的项目流程
- AngularJS组件化
- AngularJS组件化
- AngularJs 组件化
- AngularJS-组件化<component>
- AngularJS 组件化
- 【写给自己】项目组件化,修改远程依赖库的流程,特殊情况处理。
- 项目中使用的界面组件布局开发流程
- AngularJS开发WebApp的流程
- angularjs项目的知识点
- AngularJS入门之组件化
- AngularJS如何组件化?1
- AngularJS之组件化篇
- 完整的客户端组件化案例 angularJS + requireJS
- AngularJS的组件化、过滤器、自定义过滤器之旅
- AngularJs组件
- AngularJS基于树的控制组件
- AngularJs的UI组件Datepicker Popup
- 生物信息笔记
- HDU5952 Counting Cliques 沈阳赛
- LeetCode 377. Combination Sum IV
- 解决抽屉点击事件穿透问题
- POJ-----3041Asteroids---二分图最小区间覆盖
- angularJS组件化的项目流程
- java 位运算 和实际应用
- To record my first writting blog
- Mysql----mysql开启二进制日志和普通查询日志
- Matlab积分相关资料
- 卡特兰数
- ubuntu14.04安装配置jdk1.8.0_45
- 蜜汁dp
- CodeSmith和Powerdesigner的搭建和实例化操作 转载自黄聪同学