- 博客(27)
- 资源 (10)
- 问答 (1)
- 收藏
- 关注
原创 angualar.js指令与控制器间的通信(@、=、&)以及在指令内部使用$watch监听参数变化
$scopes上的对象是与html上指令标签的数据模型绑定的,即父控制器上$scope的对象不能直接传给子指令的link函数,被子指令的$scope引用。数据的流向应该是:父控制器上$scope的对象绑定html上指令标签的数据模型,该数据模型作为子指令的属性值,然后传给子指令的scope与之绑定。其它要注意的还有:html上指令标签的属性名不能有大写。如果指令上的scope的属性值有大写,则对应html上指令标签的属性名必须有-符号。
2017-07-30 23:20:30 1086
原创 undefined与"undefined"
js判断undefined类型 if (reValue=== undefined){ console.log("undefined"); } if (typeof(reValue) == "undefined") { console.log("undefined"); } 如果用===判断,那就与undefined对
2017-07-26 19:35:21 506
转载 理解angular中的module和injector,即依赖注入
依赖注入(DI)的好处不再赘言,使用过spring框架的都知道。angularjs作为前台js框架,也提供了对DI的支持,这是javascript/jquery不具备的特性。angularjs中与DI相关有angular.module()、angular.injector()、 $injector、$provide。对于一个DI容器来说,必须具备3个要素:服务的注册、依赖关系的声明、对象的获取。比
2017-07-25 23:36:52 448
转载 注入器/injector
注入器/injector注入器是AngularJS框架实现和应用开发的关键,这是一个DI/IoC容器的实现。AngularJS将功能分成了不同类型的组件分别实现,这些组件有一个统称 - 供给者/provider, 下图中列出了AngularJS几个常用的内置服务:AngularJS的组件之间不可以互相直接调用,一个组件必须通过注入器才 可以调用另一个组件。这样的好处是组
2017-07-25 23:00:44 3457
原创 angular-ui-grid merge cells in column(合并列上的单元格)
问题:I would like to pull a feature request that you implement a rowspan over 2 or more rows.This feature greatly help me improving my cell templates when I have a double lessons to prepare!It should be...
2017-07-25 00:12:45 5902 2
转载 angular的$http服务
Usage$http(config);ArgumentsconfigObject describing the request to be made and how it should be processed. The object has following properties:method – {string} – HTTP meth
2017-07-24 22:23:06 313
原创 ng-options设置option的value属性
If you use the track by option, the value attribute is correctly written, e.g.:<div ng-init="a = [{label: 'one', value: 15}, {label: 'two', value: 20}]"> <select ng-model="foo" ng-options...
2017-07-24 16:21:30 6823 2
转载 angularJs三种依赖注入方式与minify
依赖注入(饭来伸手,一来张口)DI,Dependency InjectioAngularJs使用module“名字/对象”注册表来作为容器,实现DI。依赖注解有三种方式,(数组标注、添加$inject属性、隐式声明)。其中前两种在代码minify时不会被破坏,推荐使用第一种方式。第二种方式可以自己手动改写(下面有例子),也可以使用工具ngAnnotate对隐式声明进
2017-07-23 22:38:56 410
转载 angular directive详解之replace
replace属性为true时,会替换directive指向的元素;为false时将directive的内容作为子元素插入到directive指向的元素。默认为false。
2017-07-23 22:00:46 576
转载 Angular中$compile源码分析
$compile,在Angular中即“编译”服务,它涉及到Angular应用的“编译”和“链接”两个阶段,根据从DOM树遍历Angular的根节点(ng-app)和已构造完毕的 \$rootScope对象,依次解析根节点后代,根据多种条件查找指令,并完成每个指令相关的操作(如指令的作用域,控制器绑定以及transclude等),最终返回每个指令的链接函数,并将所有指令的链接函数合成为一个处理后的链接函数,返回给Angluar的bootstrap模块,最终启动整个应用程序。
2017-07-23 20:24:56 418
转载 深入浅出AngularJs中的Service
Angular中有几种不同类型的services。每一种都有自己的独特用法。需要记住的非常重要的一点是service总是一个单体,无论是哪种类型的service。注释:单体是一种设计模式,它限制了每一个类仅能够实例化为一个对象。无论我们在什么地方注入我们的service,将永远使用同一个实例。Constant例子:app.constant('fooCon
2017-07-23 10:53:29 292
转载 angular自定义指令使用$compile动态生成html
标签:angular.module(‘app‘) .directive(‘compile‘, function ($compile) { return function (scope, element, attrs) { scope.$watch( function (scope) {
2017-07-23 01:15:30 1984
原创 ng-bind、ng-value和ng-model
在html页面中定义angular的赋值表达式,要么用ng-value,要么用ng-bind,要要么用ng-init使用ng-init、ng-bind、ng-value、ng-model指令都可以生成数据模型,即如果 scope 中不存在变量, 将会创建它。ng-init只能用于生成数据模型ng-bind、ng-value、ng-model指令既可以绑定已有的变量,也可以生成数据模型,即如果 sc...
2017-07-23 01:07:28 3609
转载 angular的同级controller通信
在controller间分享数据Blood 血腥的方法每个controller都有自己的scope, 同时也可以共享他们老爸的scope内的数据。如果我们想让两个controller共享数据的话, 有多种方法。 最直接血腥的就是在他们老爸的scope里定义一个model。input type="text" ng-model="person.name"/> div n
2017-07-23 00:13:40 804
转载 angular的父子controller通信
angularjs的事件 $broadcast and $emit and $onEvent 事件事件是解耦良器,angularjs提供了很方便的事件机构。 发送事件可以用 $scope.$emit('name', 'args');或者是 $scope.$broadcast('name', 'args');要了解两者的差别
2017-07-23 00:06:42 756
原创 TypeError: newRawData.forEach is not a function问题解决
TypeError: newRawData.forEach is not a function是我在使用angular ui grid 时在ui grid.js中报的一个错误 。其实对于这个问题的分析理解很简单:forEach()是数组特有的一个方法,报forEach is not a function就说明newRawData不是一个数组。但它又有这个属性
2017-07-21 19:18:23 31395 1
原创 正则表达式 如何匹配除了空格之外的所有字符
正则表达式 如何匹配除了空格之外的所有字符?最佳答案1234var reg = /([^\s])/g;var str = "a b c d e f";var arr = str.match(reg);console.error (arr); var reg = /([^\sd])/g;var str = "
2017-07-19 18:08:35 26795
原创 $.ajax打印error堆栈信息
$.ajax用error:function(data,type, err)打印error堆栈信息,可以查看因为什么原因失败而执行error函数$.ajax({type:"GET", url:url, dataType:"json", timeout:5000, success:function(data){}, error:function(data,type, err){ console.log("ajax错误类型:"
2017-07-19 17:33:09 17054
转载 有赞缓存热点探测实现
TMC,即“透明多级缓存(Transparent Multilevel Cache)”,是有赞 PaaS 团队给公司内应用提供的整体缓存解决方案。TMC 在通用“分布式缓存解决方案(如 CodisProxy + Redis,如有赞自研分布式缓存系统 zanKV)”基础上,增加了以下功能: 应用层热点探测 应用层本地缓存 应用层缓存命中统计 以帮助应用层解决缓存使用过程中出现的热点访问问题。为什么要做 TMC使用有赞服务的电商商家数量和类型很多,商家会不定期做一些“商
2017-07-18 11:25:04 13807 1
原创 jquery的height()与js的offsetheight
offsetHeight是js对象所能支持的方法,而$("div:eq(1)")所获得的是一个JQUERY对象,他是不支持offsetHeight的。offsetHeight只能只能用于获取高度,不能设置高度。例如:x.offestHeight=y.offsetHeight; console.log(x.offsetHeight);打印的仍然是以前x的offsetHeight。
2017-07-17 11:09:49 9753
转载 css双飞翼布局
双飞翼布局是一种比较灵活的布局,始于淘宝UED,玉伯提出的,当然他着重介绍的是双飞翼栅格布局。 本文着重讲解常用三栏布局。通俗一点讲,可以把三栏比作一只鸟,main部分相当是于鸟的身体,而left与right就是鸟的“翼”了,鸟想要平衡地飞翔就要把主体位置给摆正确,然后在“翼”的作用下开始起飞。布局也是一样的,我们也要先把主体给摆好,然后再合理地调整双翼,这样整体动作才会比较和谐。
2017-07-14 15:28:22 254
转载 js获取Html元素的实际宽度高度(offsetWidth)
第一种情况就是宽高都写在样式表里,就比如#div1{width:120px;}。这中情况通过#div1.style.width拿不到宽度,而通过#div1.offsetWidth才可以获取到宽度。第二种情况就是宽和高是写在行内中,比如style="width:120px;",这中情况通过上述2个方法都能拿到宽度。小结,因为id.offsetWidth和id.offsetHeight
2017-07-12 09:41:31 4811
原创 javascript模块化开发
javascript模块化开发1、javascript模块的原始写法模块就是实现特定功能的一组方法。只要把不同的函数(以及记录状态的变量)简单地放在一起,就算是一个模块。 function m1(){ //... } function m2(){ //... }上面的函数m1()和m2(),组成一个模块。使用的时候,直接调用就行了
2017-07-12 00:31:19 427
转载 Math.max.apply(null, arr)求数组元素的最大值
在我们日常开发中,对象的使用频率很高,我们计算数组的长度是非常方便的,但是如何计算对象的长度呢?假如我们有一个图书馆的项目,项目中有一组图书和作者,像下面这样:[javascript] view plain copy var bookAuthors = { "Farmer Giles of Ham": "J.R.R. Tol
2017-07-11 15:26:14 3691
转载 angularjs源码分析之:angularjs执行流程
angularjs源码分析之:angularjs执行流程先上个大图,有个大概印象,注:angularjs的版本为:1.2.1,通过bower install angularjs安装的。几个重要方法bindJQuery();publishExternalAPI(angular);jqLite(document).ready(function() { ang
2017-07-09 20:46:54 468
原创 svn执行svn update操作无法更新到新文件(eclipse的build automatically)
在某个目录下执行svn update操作发现无法更新到新文件时一般是这个这个目录发生而造成svn skipped了。svn skipped会使得该目录以及该目录下的所有代码都不执行更新。没找到什么好的解决方法,删掉该目录重新svn update还是会报这个错误,目前是通过换个目录重新checkout解决的。When updating my checked out directory with To...
2017-07-07 16:47:35 14664
原创 在立即执行函数内组合使用构造函数模式和原型模式创建对象,实现模块化开发(以daterangepicker.js为例)
创建自定义类型的最常见方式,就是组合使用构造函数模式和原型模式。构造函数模式用于定义实例属性,而原型模式用于定义方法和共享的属性。结果,每个实例都会有自己的一份实例属性的副本,同时又能共享对方法的引用,最大限度地节省了内存。另外,这种模式还支持向构造函数传递参数,可谓集两者之长。例子如下:function person(name,age,job){ this.nam
2017-07-05 19:04:41 550
viewpager实现页面导航之三
2015-07-22
viewpager与预编译的点布局实现页面导航效果
2015-07-20
导入第三方类库却出现the importXXX can not be resolved
2015-06-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人