zoukankan      html  css  js  c++  java
  • 【前端】牛客练题积累——AngularJS

    AngularJS方面:

    每当一个指令被创建的时候,都会有这样一个选择,是继承自己的父作用域(一般是外部的Controller提供的作用域或者根作用域($rootScope)),还是创建一个新的自己的作用域,当然AngularJS为我们指令的scope参数提供了三种选择,分别是:false,true,{};默认情况下是false

    当把scope属性设置为true时,这表明我们创建的指令要创建一个新的作用域,这个作用域继承自我们的父作用域。

    当我们将scope设置为false的时候,我们创建的指令和父作用域(其实是同一个作用域)共享同一个model模型,所以在指令中修改模型数据,它会反映到父作用域的模型中。

    scope:{}这个属性会创建一个独立的作用域,而且也不会继承父作用域.

    注:在子scope中,使用$parent.parentScopeProperty。这将阻止子scope创建它自己的属性,可以直接修改父作用域的属性。

    编译三阶段:
    1. 标准浏览器API转化
    将html转化成dom,所以自定义的html标签必须符合html的格式
    2. Angular compile(绑定dom)
    搜索匹配directive,按照priority排序,并执行directive上的compile方法
    3. Angular link(数据绑定)
    执行directive上的link方法,进行scope绑定及事件绑定

    angular js中control间通信最好使用广播的方式

    发送消息: $scope.$emit(name, data) 或者 $scope.$broadcast(name, data);

    接收消息: $scope.$on(name,function(event,data){ });

    区别: $emit 广播给父controller   $broadcast 广播给子controller

    broadcast 是从发送者向他的子scope广播一个事件。

    $emit 广播给父controller,父controller 是可以收到消息

    $on 有两个参数function(event,msg)  第一个参数是事件对象,第二个参数是接收到消息信息

    then()方法返回一个Promise。它有两个参数,分别为Promise在 success 和 failure 情况下的回调函数。 p.then(function(value) {
       // 满足
      }, function(reason) {
      // 拒绝
    });

    promise模式在任何时刻都处于以下三种状态之一:未完成(unfulfilled)、已完成(resolved)和拒绝(rejected)。
  • 相关阅读:
    poj 3616 Milking Time
    poj 3176 Cow Bowling
    poj 2229 Sumsets
    poj 2385 Apple Catching
    poj 3280 Cheapest Palindrome
    hdu 1530 Maximum Clique
    hdu 1102 Constructing Roads
    codeforces 592B The Monster and the Squirrel
    CDOJ 1221 Ancient Go
    hdu 1151 Air Raid(二分图最小路径覆盖)
  • 原文地址:https://www.cnblogs.com/lww930/p/5829519.html
Copyright © 2011-2022 走看看