zoukankan      html  css  js  c++  java
  • Angular

    angular.bind

    返回一个调用self的函数fn(self代表fn里的this).可以给fn提供参数args(*).这个功能也被称为局部操作,以区别功能。

    格式:angular.bind(self,fn,args);

    self:object  对象; fn的上下文对象,在fn中可以用this调用

    fn:function; 绑定的方法

    args:传入fn的参数

    使用代码: 

    复制代码
    var obj = { name: "Any" };
    var fn = function (Adj) {
          console.log(this.name + "is a boy!!! And he is " + Adj + " !!!");
       };
    var f = angular.bind(obj, fn, "handsome");
    f();//Any is a boy!!! And he is handsome!!!
    var t = angular.bind(obj, fn);
    t("ugly");// Any is a boy!!! And he is ugly!!!
    复制代码

    bind顾名思义绑定的意思,那么假如我们要把A绑到B上,那么必须又有绑定的东西和被绑定 的东西。这里需要的就一个对象和一个函数。那么怎么绑?野兽的理解是把对象“绑”到函数的this上去执行,这时候fn的this就等于obj了,至于第 三个参数,可有可无,看需求,如果函数需要传入参数,那么我们可以把angular.bind的第三个参数放上去,这就是传入fn函数的参数了。

    案例中第一种写法是定义绑定的时候就把fn所需的参数传进去了,调用的时候直接用,而案例中第二种写法是先绑定,在调用执行的时候再给fn传参,效果是一样的...

     

    angular.bootstrap

    使用这个功能来手动启动angular应用。基于ngScenario的端对端测试不能使用bootstrap手动启动,需要使用ngApp.

    Angular会检测应用在浏览器是否已启动并且只允许第一次的启动,随后的每次启动都将会导致浏览器控制台报错.

    这可以防止应用出现多个Angular实例尝试在Dom上运行的一些奇异结果.

    格式:angular.bootstrap(element,[modules]);

    element:Dom元素,angular应用启动的根节点

    modules:数组,angular应用的依赖模块

    使用代码:

      <div id="ngApp">
         <div ng-controller="testCtrl as ctrl">
             {{ctrl.value}}
         </div>
      </div>
    复制代码
      (function () {
          angular.module("Demo", [])
          .controller("testCtrl", testCtrl);
          function testCtrl() {
              var vm = this;
              vm.value = "Hello World";
          }
          angular.bootstrap(document.getElementById("ngApp"), ["Demo"]);
      }());
    复制代码

    一般来说,我们写ng程序,都会在页面Dom元素上写ngApp指令用来启动Angular程序,但是也可能出现一些特殊情况需要我们在启动之前干些什么或者需要我们手动启动应用程序,这时候angular.bootstrap就派的上用场了。

     

    angular.copy

    针对对象或数字创建一个深层的拷贝。

    格式:angular.copy(source, [destination]);

    source:被拷贝的对象

    destination:接收的对象 [注意:参数类型是对象或数组]

    使用代码:

    var objA, objD = []; //objA:undefined objD:[]
    var objB = { text: "Hello World" };
    var objC = {text:"Hai",value:"Test"};
    objA = angular.copy(objB); // objA:{ text:"Hello World"} objB:{ text:"Hello World"}
    angular.copy(objC, objD);// objC:{text: "Hai", value: "Test"} objD:[text: "Hai", value: "Test"]

    对Angular API 逐个的自己翻译一次,然后写能运行成功的代码,并把学习记录下来...

  • 相关阅读:
    财务高手-资本高手
    做到顶尖看三种书-大牛的书 工具书 教材书
    拓端tecdat|R语言使用HAR-RV预测实际波动率Realized Volatility案例
    拓端tecdat|WINBUGS对随机波动率模型进行贝叶斯估计与比较
    拓端tecdat|R语言机器学习实战之多项式回归
    拓端tecdat|R语言风险价值VaR(Value at Risk)和损失期望值ES(Expected shortfall)的估计
    拓端tecdat|TensorFlow 2.0 keras开发深度学习模型实例:多层感知器(MLP),卷积神经网络(CNN)和递归神经网络(RNN)
    拓端tecdat|Python安装TensorFlow 2、tf.keras和深度学习模型的定义
    cookie绕过验证码登录
    [转]Python3 字典 items() 方法
  • 原文地址:https://www.cnblogs.com/koleyang/p/5053590.html
Copyright © 2011-2022 走看看