AngularJS分层开发】的更多相关文章

为了AngularJS的代码利于维护和复用,利用MVC的模式将代码分离,提高程序的灵活性及可维护性. 1,前端基础层 var app=angular.module('appName',['pagination']); 2,前端服务层 //服务层 app.service('demoService',function($http){ //读取列表数据绑定到表单中 this.findAll=function(){ return $http.get('../demo/findAll.do'); } //…
今天我们来讲讲分层开发,你从标题能不能简单的认识一下什么是分层呢? 不懂也没关系,接下来我来给你讲讲. 第一章 软件系统的分层开发 (1)其实分层模式可以这样定义:将解决方案中功能不同的模块分到不同的项目中实现,每一层中的组件应保持内聚性,每一层都应该与它下面的各层保持松耦合.        分层模式是最常见的一种架构模式,甚至可以说分层模式是很多架构模式的基础.        数据访问层:           这一层处于最底层,负责与数据库的交互,也成为DAL(Data Access Laye…
既然是分层开发,首先我们需要知道的是分为那几个层,并且是干什么的? 1.实体层(entity) 对应数据库中的一张表,有了它可以降低耦合性,同时也是数据的载体. 2.数据访问对象(data access object)主要包含两个java源文件,一个是BaseBao,还有一个是所需要查询表的接口 package cn.news.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepa…
既然是分层开发,首先我们需要知道的是分为那几个层,并且是干什么的? 1.实体层(entity) 对应数据库中的一张表,有了它可以降低耦合性,同时也是数据的载体. 2.数据访问对象(data access object)主要包含两个java源文件,一个是BaseBao,还有一个是所需要查询表的接口 package cn.news.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepa…
总体介绍 <Node.js+MongoDB+AngularJS Web开发>,于2015年6月出版,是一本翻译过来的书,原书名为<Node.js,MongoDB and AngularJS Web Development>,总的来说是一本讲述如何用Javascript进行B/S架构全栈开发的书. 该书主要讲解4种技术(框架),分为6个部分29个章节.4种技术即Node.js.MongoDB.Express.AngularJS,业内称为MEAN:6个部分我个人理解为: 基础(引言).…
AngularJS项目开发技巧之利用Service&Promise&Resolve解决图片预加载问题(后记) 前言 在"AngularJS项目开发技巧之图片预加载"一文中,自己曾经天真的认为提升服务端带宽就可以解决图片加载问题.但自己的想法错了,通过阅读破狼的书<AngularJS深度剖析与最佳实践>,隐隐察觉到是自己的项目架构出现了问题.存在很多待优化的地方.其书中这样写到"如果在实例化控制器之前,需要准备一些特定数据,或者有条件的阻止进入路由,…
AngularJS项目开发技巧之获取模态对话框中的组件ID 需求 出于项目开发需求,需要实现的业务逻辑是:药店端点击查看"已发货""已收货"订单详情时,模块弹出框中只应出现"取消"按钮.但现实的情况如下图所示. 模态框核心代码如下: <script type="text/ng-template" id="billDtlContent.html"> <div class="moda…
AngularJS项目开发技巧之图片预加载 绪 项目(移动端采用Ionic 框架)开发完毕,测试阶段发现移动APP首页的广告图片(图片由服务器端返回相应url地址)很难加载,主要原因还是网速.如下图左所示,图片加载完毕如下图右所示.             问题分析 尝试进行图片加载的优化工作. 经过与Ionic群内卖火柴朋友的聊天,获取到如下内容:手机端访问速度受服务端带宽的限制.一个接收一个传输,和两方都有关系.服务器对app影响是很大的.2M 一般是网站使用还可以  app会不乐观.增加服…
AngularJS项目开发技巧之localStorage存储       注: localStorage深度学习 绪 项目开发完毕,测试阶段发现后台管理端二维码生成有问题,问题在于localStorage的存储.如下图左所示,二维码生成完毕包含信息如下图左所示,实际二维码信息如下图右所示: 经过测试发现二维码实际存储的是上一次的结果.好熟悉~Bingo,自己做导航栏高亮时就遇到过这个问题,当时就是使用的localStorage.问题还是出在localStorage身上.但是存储时:localSt…
1.创建父项目parent 新建——Maven Project——勾选Create a Simple Project(skip archetype selected)——填写parent坐标,注意打包方式选择pom 在pom.xml文件中配置tomcat7插件,使项目以maven的tomcat7插件启动(不需要本地安装tomcat,脱离tomcat启动) <build> <plugins> <plugin> <groupId>org.apache.tomca…
//控制层 app.controller('brandController' ,function($scope,$controller ,brandService){ $controller('baseController',{$scope:$scope});//继承 //读取列表数据绑定到表单中 $scope.findAll=function(){ brandService.findAll().success( function(response){ $scope.list=response;…
捂脸,辛酸泪ing...... 本文主要涉及部分在移动设备上特有的问题. 相对来说,Jquery侧重DOM操作,AngularJS是以视图模型和双向绑定为核心的. DOM操作的问题 避免使用 jQuery 来操作 DOM,包括增加元素节点,移除元素节点,获取元素内容,隐藏或显示元素.你应该使用 directives 来实现这些动作,有必要的话你还要编写自己的 directives. 在网站Web前端开发中,如果你感到很难改变习惯,那么考虑从你的网页中移除 jQuery 吧.真的,AngularJ…
本博客停止更新,请访问新个人博客:owenchen.net 前言 博客迁移到了BAE上,http://owenchen.net/,以后的文章会首发在自己的博客上,随后在博客园发布. 很久没有写文章了,一是项目比较忙,二来自己在尝试一些互联网新的产品,以微信平台开发为主,看看能不能挣点零花钱以缓解目前的经济压力,也顺便了解和学习一下为什么这东西这么火.最终钱还没挣到,到把自己累个半死.当然收获也是有的,发现了一些挣钱的路子,以后有时间有机会尝试尝试.也在短时间内玩了不少东西,比如PHP的mvc框架…
安装VS2015 Update2的过程是非常曲折的.还好经过不懈的努力,终于折腾成功了. 如果开发Cordova项目的话,推荐大家用一下ionic这个框架,效果还不错.对于Cordova.PhoneGap.ionic.AngularJS这些框架或库的关系,我个人理解是这样,PhoneGap是一个商业项目,用来实现HTML5式的跨平台开发,后来Adobe公司将其中的核心代码开源,就是Cordova,Cordova只负责实现JavaScript调用原生代码的功能,是一个壳,而壳里具体用什么样式,在H…
AngularJS 不错,yeoman作为推荐开发工具,网上的安装步骤较烦,这里给出简易步骤. 1.安装 Ruby     自己到 Ruby 官方下载最新安装包: http://rubyinstaller.org/downloads/ 选择1.9.3,这样就不区分32或64位操作系统了,注意安装时选择所有的checkbox 2.  安装compass > gem install chunky_png > gem install fssm > gem install sass > g…
使用AngualrJs开发移动App已经快半年了,逐渐积累了非常多AngularJS的问题,特别是对于用惯了Jquery的开发人员,转到AngularJS还是须要克服非常多问题的.不像Jquery那样側重DOM操作,AngularJS是以视图模型和双向绑定为核心的. 以下的内容如果你已经了解前端 MVC 概念,并对 AngularJS 有了一定经验,刚開始学习的人读起来可能比較艰深晦涩.本文的总结会涉及部分在移动设备上特有的问题. DOM操作的问题 避免使用 jQuery 来操作 DOM,包含添…
找不到的API? AngularJS提供了一些功能的封装,但是当你试图通过全局对象angular去 访问这些功能时,却发现与以往遇到的库大不相同. $http 比如,在jQuery中,我们知道它的API通过一个全局对象:$ 暴露出来,当你需要 进行ajax调用时,使用$.ajax()就可以了.这样的API很符合思维的预期. AngularJS也暴露了一个全局对象:angular,也对ajax调用进行封装提供了一个 $http对象,但是,但是,当你试图沿用旧经验访问angular.$http时,发…
这篇博客之前承接上一篇:http://www.cnblogs.com/xuema/p/4335180.html 重写示例:模板.指令和视图 AngularJS最显著的特点是用静态的HTML文档,就可以生成具有动态行为的页面. 还是前面的小时钟示例,我们使用AngularJS模板来重写,示例已经嵌入→_→: 示例地址:http://www.dwz.cn/26R4S5 HTML文件看起来像普通的HTML,只是其中多了一些特别的标记 (比如:ng-app,ez-clock等等).在Angular中,这…
AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为静态文本展示设计的声明式语言,改善了JavaScript. 下面我要说的就是25个超有用的AngularJS工具,web开发人员千万不可错过哦. 1)AngulaJS最佳测试工具——Protractor Protractor支持AngularJS应用程序,是一款终端到终端的测试框架.Protractor在真正的浏览器中运行测试.由于Protractor支持Angular的具体定位策略,故而你无需进行任何设置就可…
临时项目需要使用AngularJS+Ionic+Cordova技术,半年前跟别人用过一段时间做过几个页面,目前别人已经无法联系了,只能我自己上了. 上次做完项目后,想抽时间好好巩固一下这方面的知识面来,后来其他项目忙起来就给扔下,主要原因还是懒啊,其实有好多的技术排着队等着好好研究呢,就是懒啊. 开发第一步,需要先把开发环境搭建起来. 1.开发IDE 选择VS Code,官方下载地址:https://code.visualstudio.com/ .下载完成后,根据安装步骤一步步完成即可. 2.安…
后端mvc分层,前端也要分层才对嘛.分层的好处不言而喻.简直太清晰,容易维护.反正清爽的一逼.不信你看. 思路:分为controller层和service层.controller层再提取一个公共的层.比如放一些分页逻辑啦,格式化这类的方法.然后还有个module层.好的 齐活. 看代码: base_pagination.js(这个是最大的module层,后面引入了个分页的module,分页必须得嘛) var app=angular.module('pinyougou',['pagination'…
使用AngualrJs开发移动App已经快半年了,逐渐积累了很多AngularJS的问题,特别是对于用惯了Jquery的开发者,转到AngularJS还是需要克服很多问题的.不像Jquery那样侧重DOM操作,AngularJS是以视图模型和双向绑定为核心的. 下面的内容假设你已经了解前端 MVC 概念,并对 AngularJS 有了一定经验,初学者读起来可能比较艰深晦涩.本文的总结会涉及部分在移动设备上特有的问题. DOM操作的问题 避免使用 jQuery 来操作 DOM,包括增加元素节点,移…
目录 啰嗦一下 你问我答 目录结构 压缩 其他 啰嗦一下 最近在开发一个项目时,调研了一下AngularJS,发现这个框架功能很丰富,而且用起来也很方便,所以深入了解了一下,在此分享一下我的感悟. AngularJS是一个MVVM框架,所谓MVVM框架,即:Model-View-ViewModel,通俗一点的解释是:当数据发生变化时,框架自动进行数据绑定,自动更新页面上的数据. 这一点可以说是非常"神奇"的功能,可以减少我们很多的工作量.把我们从复杂的DOM结构中解脱出来,用剩余的时间…
欢迎大家指导与讨论 : ) 一 .前言 由于笔者水平有限,在这里只是分享自己开发组件的一些思路~ 摘要:无UI组件类.有UI组件类.有UI组件类型2.欢迎拍砖吐槽 O(∩_∩)O 二 .无UI组件类 顾名思义,这类组件没有任何表现形式出现在用户界面上,只是一般功能的实现者,也就是平时所用到.所需要开发的 Factory.它一般由 controller 进行调用,用于处理并返回数据.重点是,Fatory 某些方法最好使用 $q(promise),来分隔业务逻辑. Controller ↓ ↑ da…
一:分层架构 搭建DAL层(数据访问层).UI层(表示层).BLL层(业务逻辑层)以及Model层(实体层) 各层的引用关系: DAL.UI.BLL层引用Model层 UI层引用BLL层 BLL层引用DAL层 二:实现登录功能 StudentDAL层 定义一个bool变量,将Student对象作为参数,使用SqlParameter对象进行填充,判定count值,若大于0.返回真 //01.写一个用于登录的方法 public bool IsLogin(Student stu) { bool fla…
由于分层之间存在各层之间的关系窗体之间的方法跳转,故有需要者可以进行下载本地文件 MySchool.rar 3304KB 5/22/2016 9:43:28 AM ,代码中有注释, 上述代码,属个人所做,如有转载者,需经本人同意,谢谢,学习知识要共享…
由于分层之间存在各层之间的关系窗体之间的方法跳转,故有需要者可以进行下载本地文件 MySchool.rar 3304KB 5/22/2016 9:43:28 AM ,代码中有注释,…
分层开发之MYSCHOOL No.1实现登陆功能,验证用户名和密码.从数据库里进行匹配,看是否有符合要求的数据. 在DAL层编写代码,返回值为布尔类型.方法参数为(student实体类对象),使用参数化SqlParameter类型防止SQL注入. 1 public bool IsLogin(Student stu) 2 { 3 bool flag = false; 4 SqlConnection con = new SqlConnection(SqlHelper.str); 5 6 string…
在声明式模板中显示数据 因为不能像jQuery一样将DOM操作混在模板里,声明式模板很快让我们变得束手束脚. 一个典型的问题:在声明式模板里怎么显示数据? 假设我们有某人的基本信息,保存在一个json对象里: var sb = { name : 'somebody', gender : 'male', age : 28 }; 我们定义一个指令ez-namecard,希望它经过编译后会展开成这样: <div> <div>name : somebody </div> <…
使用上篇博客<开发环境搭建>中的命令创建完成IonicHelloWorld项目,在VSCode中的左侧,显示该项目的结构信息,如下图所示: 1 .sourcesmaps文件夹 调试状态的javascript出现问题时,能够准确定位到那个文件的那一行代码,但是压缩后的代码出现问题也无法准确找到代码位置.Sourcemap的出现就是为了解决这个问题,它是一个文件,保存着压缩后的JavaScript代码在源文件中的位置信息,出现问题后也能够调试状态下显示出源代码的位置,目前好像只有Chrome浏览器…