蓝色幻想728

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  • angular.isArray(a) 判断a是否为数组
  • angular.isDate 是否为时间对象
  • angular.isDefined 判断元素是否存在
  • angular.isUndefined
  • angular.isFunction 是否为函数
  • angular.isNumber
  • angular.isObject 是否为对象
  • angular.isString
  • angular.isElement -》这个除了js原生的元素之外,还可以判断jQuery里的元素,比如
window.onload = function(){
   console.log(angular.isElement(document.body));//原生
   console.log(angular.isElement($(document.body)));//jQuery
};

  • angular.version 判断当前用的angular版本,返回的是一个对象,再跟一个full就可以查全部的数字, angulur.version.full
  • angular.equals 两个元素是否相等,除了普通的数据类型外,如果数组里内容一样,也会返回true,连NaN也被认为是一样的 console.log(angular.equals(a,b));
    注意的是,如果是json里的key,一个用了引号,一个没写引号,它还是会判断相等的,但是json里的value是不行的,加了引号就成了字符串了
var a = {"a":1,b:2};
var b = {a:1,b:2};
console.log(angular.equals(a,b)) //==>true
  • angular.forEach 循环,可以循环数组和json,类似与jquery里的循环,但是这里的第一个参数的元素,第二个参数是坐标

另外forEach里的第三个参数是可选的,函数里的this就是指的这个第三个参数,表明在循环的过程中可以对第三个参数进行操作,并且这个参数可以是在函数里申明。

var json = {"name":"Victor","age":"23","gender":"male"};
var arr = [];
angular.forEach(json,function(value,key){
    this.push(key+':'+value); 
},arr);
//传入第三个参数arr, 这里的this就是第三个参数,即在函数里申明的arr,每次循环就将key和value连接起来,并且push到arr数组里
console.log(arr) ==》 ["name:Victor", "age:23", "gender:male"]
  • angular.fromJson/toJson 非常类似于js原生里JSON.parse()和JSON.stringify(),只是从字面上理解有点奇怪,照理fromJson应该是从Json转成string,但事实正好相反

另外,toJson还可以传入第二个参数true,这样转换出来的字符串是一个会在每个键值对后加入换行

var json = {"name":"Victor","age":"23","gender":"male"};
var str = angular.toJson(json,true); //这里设置true之后会将转出来的字符串按照换行的样式格式化,而不是再写在一排里
console.log(str) 
/*==>
{
  "name": "Victor",
  "age": "23",
  "gender": "male"
} */
  • angular.identity/noop
  • angular.lowercase/uppercase
  • angular.element
  • angular.bootstrap 可以动态初始化angular,而不用写ng-app

另外,其实在整个页面当中,即使申明了2个module,分别挂在不同的标签上,只有第一个module才会起作用,但是如果采用动态的bootstrap方式就可以加载多个module模块

var app = angular.module('myApp',[]);
app.controller('cont1',['$scope',function($scope){
    $scope.name = 'hello';
}]);
document.onclick = function(){
    angular.bootstrap(document,['myApp']);
}; //如果没有在页面的标签上写任何ng-app="myApp"之类的话,可以在script标签里写上面这段,bootstrap的第一个参数写需要添加把myApp这个模块添加到那里,而这里写document,相当于写在了<html>标签里了,这段的意思是,当点击document的时候正式启动myApp这个模块
  • angular.injector
posted on 2016-09-07 22:48  蓝色幻想728  阅读(120)  评论(0编辑  收藏  举报