1、angular.extend

  var dst = {name: 'xxx', country: 'China'};
  var src1 = {name: 'yyy', age: 10};
  var src2 = {sex:'famale',height:'tall'};
  angular.extend(dst,src1,src2);//You can specify multiple src objects.可以指定多个源对象
  console.log(dst);

  console.log(src1);

  

  从输出结果可以看出如果源元素中有与destination中相同的元素属性时,destination中的属性值会被覆盖

2、angular.toJson

  

  angular.toJson()中第二个参数为true时,代表将json形式的string格式化;

  

  格式化后更清晰。

3、angular.forEach  

  

     var values = {name: 'misko', gender: 'male'};
  var log = [];
  angular.forEach(values,function(value,key){
    console.log(value + ' ' + key);
    console.log(this);//此处this指log数组
    this.push(key + ":" + value);
  },log);
  console.log(log);

  

  在forEach中this指的是第三个参数,要将数据放入的对象。

上面的对象只需要循环一次就可以,而下面的数据则需要循环两次:

            var values2 = [
{name: 'misko', gender: 'male'},
{name: 'Amy', gender: 'female'}
];
var log2 = [];
angular.forEach(values2,function(value,key){
console.log(key);//0 1
console.log(value);//Object {name: "misko", gender: "male"} Object {name: "Amy", gender: "female"}
angular.forEach(value,function(val,k){
console.log(k);//name,gender,name,gender
console.log(val);//misko male Amy female
console.log(this);//
this.push(k + ":" + val);
},log2);//存放数据的对象要放在内部循环中
console.log(log2);//["name:misko", "gender:male", "name:Amy", "gender:female"]
});

4、angular.bind

  传递参数的方法:

    第一种:

      

var ele = {"name":"Amy"};
var bind = angular.bind(ele,function(age){
console.log(this);
console.log(this.name + ' is ' + age);
});
bind(25);

  

    第二种:

var ele = {"name":"Amy"};
var bind = angular.bind(ele,function(job){
console.log(this);
console.log(this.name + ' is ' + job);
},'a marketer');//传递参数方法二
bind();

  

5、angular.bootstrap

  angular.bootstrap手动初始化module,一个应用只能有一个ng-app,而通过angular.bootstrap可以手动启动多个module,实例如下:

    <div id="div1" ng-controller="myCtrl1">
{{name}}
</div>
<div id="div2" ng-controller="myCtrl2">
{{name}}
</div>
<script src="../angular.min.js"></script>
<script>
var myapp1 = angular.module('myApp1',[]);
var myapp2 = angular.module('myApp2',[]);
myapp1.controller('myCtrl1',['$scope',function($scope){
$scope.name="zhangsan";
}]);
myapp2.controller('myCtrl2',['$scope',function($scope){
$scope.name="lisi";
}]);
var div1 = document.getElementById('div1');
var div2 = document.getElementById('div2');
angular.element(document).ready(function(){//此页面没有使用ng-app指定任一module,而是动态添加
angular.bootstrap(div1,['myApp1']);
angular.bootstrap(div2,['myApp2'
]);
});
/*window.onload = function(){//整个页面加载完成时
angular.bootstrap(div1,['myApp1']);
angular.bootstrap(div2,['myApp2']);
}*/
</script>

  此段代码中没有指定ng-app,而是通过angular.bootstrap来手动加载module。

  模块之间相关依赖注入: 

<body ng-app="myApp">
<div ng-controller="firstCtrl">
{{name}}
</div>
<div ng-controller="secondCtrl">
{{name}}
</div>
<div ng-controller="thirdCtrl">
{{name}}
</div>
<script src="../angular.min.js"></script>
<script src="module2.js"></script>
<script>
angular.module('myApp',['myApp2'])//将myApp2注入到myApp中
.controller('firstCtrl',['$scope',function($scope){
$scope.name="zhangsan";
}]); </script>
</body>

  module2.js:js文件中定义了模块myApp2和secondCtrl及thirdCtrl

angular.module('myApp2',[])
.controller('secondCtrl',['$scope',function($scope){
$scope.name="lisi";
}])
.controller('thirdCtrl',['$scope',function($scope){
$scope.name="wangwu";
}]);

angularjs工具方法的更多相关文章

  1. angularjs——工具方法

    1.fromJson 把json字符串转成JSON对象 var jsonStr='[{"Name":"abc","age":12},{&qu ...

  2. angularjs 工具方法

    <!DOCTYPE HTML> <html ng-app> <head> <meta http-equiv="Content-Type" ...

  3. javascript 的工具方法 --- 类型判断

    Javascript中常见类型对象有: Boolean, Number, String, Function, Array, Date, RegExp, Object, Error, Symbol等等. ...

  4. JQuery操作类数组的工具方法

    JQuery学习之操作类数组的工具方法 在很多时候,JQuery的$()函数都返回一个类似数据的JQuery对象,例如$('div')将返回div里面的所有div元素包装的JQuery对象.在这中情况 ...

  5. 当AngularJS POST方法碰上PHP

    问题描述 怎么POST过去给PHP都收不到资料? $_POST方法取不到正确的传入值! 原理说明 AngularJS这套framework使用的AJAX方法中,资料传递的格式为JSON,送出去的hea ...

  6. jQuery工具方法

    目录 常用工具方法 判断数据类型的方法 Ajax操作 $.ajax 简便写法 Ajax事件 返回值 JSONP 文件上传 参考链接 jQuery函数库提供了一个jQuery对象(简写为$),这个对象本 ...

  7. jQuery晦涩的底层工具方法们

    这里整理的是jQuery源码中一些比较晦涩难懂的.内部的.最底层的工具方法,它们多为jQuery的上层api方法服务,目前包括: jQuery.access jQuery.access: functi ...

  8. angular的工具方法笔记(equals, HashKey)

    分别是angular脏值检测的工具方法equals和 类HashKey的使用方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transi ...

  9. JavaScript文件中调用AngularJS内部方法或改变$scope变量

    需要在其他JavaScript文件中调用AngularJS内部方法或改变$scope变量,同时还要保持双向数据绑定: 首先获取AngularJS application: 方法一:通过controll ...

随机推荐

  1. js中递归函数的使用介绍

    所谓的递归函数就是在函数体内调用本函数.使用递归函数一定要注意,处理不当就会进入死循环.递归函数只有在特定的情况下使用 ,比如阶乘问题 递归函数是在一个函数通过名字调用自身的情况下构成的,如下所示: ...

  2. STL中algorithm里的查找

    首先,选择查找算法时,区间是否排序是一个至关重要的因素.可以按是否需要排序区间分为两组: A. count,find B. binary_search,lower_bound,upper_bound, ...

  3. Hibernate注解映射联合主键的三种主要方式

    今天在做项目的时候,一个中间表没有主键,所有在创建实体的时候也未加组件,结果报以下错误: org.springframework.beans.factory.BeanCreationException ...

  4. linux 安装samba

    1. yum -y install samba 2. 配置 vi /etc/samba/smb.conf [global] 下面的 修改 workgroup = MYGROUPsecurity = s ...

  5. 如何录制手机屏幕并转成gif

    因为上一篇博客需要展示一些软件操作过程,如果直接截图的话一来可能需要多张图,二来表达也不方便,所以特意去查了下如何录制手机屏幕操作,然后转成gif,嵌入进博客中,这样表达起来就方便多了.话不多说,总结 ...

  6. 【BZOJ 1030】【JSOI 2007】文本生成器 AC自动机+递推

    一直不理解到底怎么做啊,想了好久$TwT$ 最后终于明白了为什么找到第一个满足条件的$fail$就计算,因为避免重复,这个回答,,, 然后$root$下面要接上26个节点,这里26个字母中不在字典内的 ...

  7. react.js 公共方法 集合

    截取七牛上传图片的后缀名: export function getInputKey(info){ let self = this; let obj = JSON.parse(info); let qi ...

  8. mysql-利润set变量模拟分组查询每组中的第N条数据

    查询思路: 很多时候想在使用group by时想查询group by的每一组中的第N条数据,而取这些数据时往往按如下方式去执行则很慢 ; 按如上方式,对于数据10000左右的表就已经很吃不消. 或已拼 ...

  9. css-控制元素中的字符超过规定的宽度影藏

    代码如下: <div style="width:100px; white-space:nowrap;overflow:hidden;text-overflow:ellipsis; bo ...

  10. css li 不换行(布局,内容)

    参考这里 ------ 不换行的策略: 不换行原理: ul 和 li 默认都是 display:block; 的标签, 可以通过2种方式实现 li 的 不换行显示: * 将 li 设为 display ...