做网站大概多少钱,菏泽建设局官网,网站建设都包括哪些内容,中国监察报电子版前段时间做AngularJS的经验总结#xff0c;这里和大家分享一下#xff1a; 使用AngularJS的目的是构建一个单页应用#xff0c;一直是局部刷新#xff0c;可以达到类似客户端的效果 指令主要参数#xff1a; restrict : E(元素),A(属性),C(类名),M(注释)#xff0c;默认为… 前段时间做AngularJS的经验总结这里和大家分享一下 使用AngularJS的目的是构建一个单页应用一直是局部刷新可以达到类似客户端的效果 指令主要参数 restrict : E(元素),A(属性),C(类名),M(注释)默认为EA template : 指令链接DOM模板例如“h1{{head}}/h1” templateUrl:替代template指定模版路径 replace :指令链接模板是否替换原有元素默认false scope :有三种参数 false :共享父域true :继承父域但新建独立作用域对象{} :独立作用域有三种绑定策略实现数据传递 单向绑定使用时加{{}}双向绑定函数绑定 require : 用于指令和指令之间进行通讯在使用require指定依赖后link函数的第四个参数就是所依赖的控制器 require: ?^teacher这里的问号和^号是寻找策略前者表示没有找到则置为null后者表示在自身指令寻找指令名称的同时向上父元素寻找 controller :赋予指令控制器是用来定义其内部作用域的行为的 link :描述指令元素操作行为,先执行controller设置各个作用域的scope执行link设置DOM的各个行为 Controller间调用方法 : 使用消息机制$scope.$emit(EVENT.SUCEESS,{});其父controller如下 $scope.$on(EVENT.SUCEESS, function (event, args) {}); Controller间数据共享 : 使用服务做桥梁因为服务是单例的多个controller间访问的是同一份数据设置好服务getter和setter方法在任何需要这个数据的地方注入这个服务 angular.factory(sharedList,function() {var list [];return {addItem: addItem,getList: getList}function addItem(item) {list.push(item);}function getList() {return list;}
}); 在定义模块servicecontroller等时最好使用依赖注入,减少模块间的耦合 app.controller(worldCtrl,[$scope,$http,function($scope, $http){ // ... }]); 或者myCtrl.$inject [$scope, ];这样显式注入 设置延时操作是使用angularjs自带的$timeout而不是setTimeout后者对scope的修改不会触发更新,使用 $timeout.cancel(promise对象)取消一个timeoutvar a $timeout(function(){console.log(执行$timeout回调);returnangular;
}, 1000); 通过ngResource来调用restful服务接口,而不是仅仅使用$http它只适合处理一些简单的请求可以定义 资源在服务端的URL常用的请求参数类型一些附加的方法期望获得的响应类型等等这些 如下是ngResource的一个简单例子 myAppModule.factory(CreditCard,[$resource,function($resource) {return $resource(/usr/:userId/card/:cardId,{userId: 123, cardId:id},{charge: {method:POST, params: {charge:true}, isArray: false});
}]); 通过CreditCard.get({id : 11})则会生成/user/123/card/11的资源URL UI Bootstrap的使用由于项目中不用jQuery所以无法直接使用BootStrap该项目为每个Bootstrap JS组件添加了内置指令只需要Bootstrap CSS就可以实现BootStrap的样式。