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.尽管元素可以被多个指令所支持或修饰,

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

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

  • 相关阅读:
    静态INCLUDE与动态INCLUDE的区别
    SQL注入
    SpringMVC
    设计模式—七大原则
    Demo小细节-2
    Java运算符
    Java内部类的基本解析
    接口类和抽象类
    Statement和PreparedStatement
    ArrayList,LinkedLIst,HashMap
  • 原文地址:https://www.cnblogs.com/xiaokangzhu/p/4685643.html
Copyright © 2011-2022 走看看