zoukankan      html  css  js  c++  java
  • angular学习笔记2015728

    1.将$parse服务注入到控制器中,然后调用就可以实现手动解析表达式。

    2.如果指令使用了transclude参数,那么在控制器(下面马上会介绍)中就无法正常监听数据模型的变化了

    3.由于指令可以require其他指令所使用的控制器,因此控制器常被用来放置在多个指令间共享的动作。

    如果我们希望将当前指令的API暴露给其他指令使用,可以使用controller参数,否则可以

    使用link来构造当前指令元素的功能性。如果我们使用了scope.$watch()或者想要与DOM元素

    做实时的交互,使用链接会是更好的选择。

    技术上讲,$scope会在DOM元素被实际渲染之前传入到控制器中。在某些情况下,例如使
    用了嵌入,控制器中的作用域所反映的作用域可能与我们所期望的不一样,这种情况下,$scope
    对象无法保证可以被正常更新。

    4.

    require参数的值可以用下面的前缀进行修饰,这会改变查找控制器时的行为:
    ?
    如果在当前指令中没有找到所需要的控制器,会将null作为传给link函数的第四个参数。
    ^
    如果添加了^前缀,指令会在上游的指令链中查找require参数所指定的控制器。
    ?^
    将前面两个选项的行为组合起来,我们可选择地加载需要的指令并在父指令链中进行查找。
    没有前缀
    如果没有前缀,指令将会在自身所提供的控制器中进行查找,如果没有找到任何控制器(或
    具有指定名字的指令)就抛出一个错误。

    5.尽管元素可以被多个指令所支持或修饰,

    这些指令本身的模板中也可以包含其他指令,但只有属于最高优先级指

    令的模板会被解析并添加到模板树中。这里有一个建议,就是将包含模板的指
    令和添加行为的指令分离开来。如果一个元素已经有一个含有模板的指令了,
    永远不要对其用另一个指令进行修饰。只有具有最高优先级的指令中的模板会
    被编译。

  • 相关阅读:
    Java vs Python
    Compiled Language vs Scripting Language
    445. Add Two Numbers II
    213. House Robber II
    198. House Robber
    276. Paint Fence
    77. Combinations
    54. Spiral Matrix
    82. Remove Duplicates from Sorted List II
    80. Remove Duplicates from Sorted Array II
  • 原文地址:https://www.cnblogs.com/xiaokangzhu/p/4685643.html
Copyright © 2011-2022 走看看