angularjs工具方法
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工具方法的更多相关文章
- angularjs——工具方法
1.fromJson 把json字符串转成JSON对象 var jsonStr='[{"Name":"abc","age":12},{&qu ...
- angularjs 工具方法
<!DOCTYPE HTML> <html ng-app> <head> <meta http-equiv="Content-Type" ...
- javascript 的工具方法 --- 类型判断
Javascript中常见类型对象有: Boolean, Number, String, Function, Array, Date, RegExp, Object, Error, Symbol等等. ...
- JQuery操作类数组的工具方法
JQuery学习之操作类数组的工具方法 在很多时候,JQuery的$()函数都返回一个类似数据的JQuery对象,例如$('div')将返回div里面的所有div元素包装的JQuery对象.在这中情况 ...
- 当AngularJS POST方法碰上PHP
问题描述 怎么POST过去给PHP都收不到资料? $_POST方法取不到正确的传入值! 原理说明 AngularJS这套framework使用的AJAX方法中,资料传递的格式为JSON,送出去的hea ...
- jQuery工具方法
目录 常用工具方法 判断数据类型的方法 Ajax操作 $.ajax 简便写法 Ajax事件 返回值 JSONP 文件上传 参考链接 jQuery函数库提供了一个jQuery对象(简写为$),这个对象本 ...
- jQuery晦涩的底层工具方法们
这里整理的是jQuery源码中一些比较晦涩难懂的.内部的.最底层的工具方法,它们多为jQuery的上层api方法服务,目前包括: jQuery.access jQuery.access: functi ...
- angular的工具方法笔记(equals, HashKey)
分别是angular脏值检测的工具方法equals和 类HashKey的使用方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transi ...
- JavaScript文件中调用AngularJS内部方法或改变$scope变量
需要在其他JavaScript文件中调用AngularJS内部方法或改变$scope变量,同时还要保持双向数据绑定: 首先获取AngularJS application: 方法一:通过controll ...
随机推荐
- pageEncoding与contentType属性
1图例分析 由图中可以看出,这个两个属性没有任何关系. 把这两个设置成不同的编码格式对中文显示不会产生任何影响 2.原因分析 pageEncoding规定了以什么编码方式存储和读取,使两者保持一致性, ...
- python基础-基本数据类型
一. 运算符 1.算数运算: ps: 示例1: python2.7示例 #!/usr/bin/env python # -*- coding:utf-8 -*- #Author: nulige #算数 ...
- Day Three(Beta)
站立式会议 站立式会议内容总结 331 今天:列表关于div控制长度选择控制字段长度而非cssCtrl;editor学习使用 遇到的问题:无 明天:复习,没什么时间花在代码上,可以构思下闹钟的过程 4 ...
- Beta--项目冲刺第七天
胜利在望-- 队伍:F4 成员:031302301 毕容甲 031302302 蔡逸轩 031302430 肖阳 031302418 黄彦宁 会议内容: 1.站立式会议照片: 2.项目燃尽图 3.冲刺 ...
- 一个Activity掌握Android5.0新控件 (转)
原文地址:http://blog.csdn.net/lavor_zl/article/details/51279386 谷歌在推出Android5.0的同时推出了一些新控件,Android5.0中最常 ...
- nginx实战2---浏览器设置缓存
对常见格式的图片文件等在浏览器本地缓存,对于css,js等文件在浏览器本地缓存. 语法:expires [time|epoch|max|off 默认值:off expires指令控制HTTP应答中的& ...
- REST服务返回自定义的HttpResponseMessage
WebApi框架中对资源的操作,都是通过其Controller提供的各种方法(GET,POST,PUT,DELET等)来实现,而这些方法的返回信息有以下几种形式: 方法返回类型 HttpRespons ...
- Freemarker 各种格式化
1.格式化日期 ${updated?string("yyyy-MM-dd HH:mm:ss")} 如果指定的变量不一定存在,可以这样: ${(dateMap.beginTime?s ...
- Linux的vim三种模式及命令
一般模式:在Linux终端中输入"vim 文件名"就进入了一般模式,但不能输入文字.编辑模式:在一般模式下按i就会进入编辑模式,此时就可以写程式,按Esc可回到一般模式. 命令模式 ...
- R语言之RCurl实现文件批量下载
前言: RCurl工具包的作者是由Duncan Temple Lang现任加州大学 U.C. Davis分校副教授.他曾致力于借助统计整合进行信息技术的探索.使用者通过RCurl可以轻易访问网页,进行 ...