zoukankan      html  css  js  c++  java
  • 【学】AngularJS日记(1)

    • 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
  • 相关阅读:
    linux下好用的软件
    linux下常见目录的介绍
    slam相关链接
    GPS 使用的三种坐标系 ECEF、ENU、LLA坐标系
    平面度计算 C++实现
    QT Cmake添加srv和msg
    pcl点云与ros之间的数据类型转换
    ROS分布式设置
    qt中播放视频和音频
    linux tips
  • 原文地址:https://www.cnblogs.com/bluefantasy728/p/5851390.html
Copyright © 2011-2022 走看看