【问题标题】:Does the terminal property of an Angular directive stop compilation?Angular 指令的终端属性是否停止编译?
【发布时间】:2013-09-18 11:45:50
【问题描述】:

我整理了一个小程序演示来帮助自己理解指令的优先级和终端属性,但是我遇到了一个我不理解的问题。将终端属性设置为 true 时,由于某种原因,无论其他指令的优先级如何,它似乎都会停止 angular 编译范围绑定变量的 html 输出。这是否会发生,是否有相关文档?

请注意,在演示中,控制台会注销我期望的值,但 html 中的值不会被编译(如果终端设置为 false,或者被删除,它们会编译)。

http://plnkr.co/edit/qGmiGzUmAB4zZ1GgGq7n

【问题讨论】:

  • 这似乎回答了同样的问题:stackoverflow.com/questions/15266840/…
  • 那篇文章对我来说很有意义,但我仍然不明白为什么我设置的作用域变量没有出现在 html 输出中。如果只有终端优先级之后的指令没有被转换,这对我来说是有意义的,但无论哪个具有终端属性,它们都是。

标签: angularjs angularjs-directive


【解决方案1】:

它不会停止对当前指令的编译,但是它会完全跳过元素后面的所有指令。所以实际上它与编译无关。

【讨论】:

  • 感谢 Pinocchio,但我仍然不明白为什么我设置的作用域变量没有被它们的实际值替换?所有指令都在同一个元素上,无论我在输出上设置终端 true 的哪个指令都不会正确显示,如果我不设置它,或者将它设置为 false,它们都可以正常工作。
  • 所有指令都按照它们在元素上出现的顺序堆叠起来,如果一个指令设置为终端真,那么队列中的所有其他指令都不会被渲染
猜你喜欢
  • 1970-01-01
  • 2019-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多