【问题标题】:AngularJS write custom delimiters compliant directiveAngularJS 编写自定义分隔符兼容指令
【发布时间】:2015-02-04 17:43:57
【问题描述】:

我正在使用一个使用 {{ }} 分隔符编写的角度库。出于某种原因,我不得不为我的项目更改分隔符(假设我使用的是[[]]

问题在于库的指令是使用常规分隔符 {{ }} 编写的,因此不再是 interpolated 正确的方式。

有没有办法编写一个能够插入参数的指令,无论当前的分隔符是什么?

【问题讨论】:

  • 最好的猜测是您将无法切换,因为您必须在角度配置中进行更改。
  • 您是否考虑过在您的 html 代码中使用“ng-bind”指令代替 {{ }}? 几乎可以在任何可以使用 {{foo}} 的地方使用。
  • @PrahladYeri directive I'm using 是使用 {{ }}notation 的插值属性。如果 ng-bind 适用于内容本身,那么属性有什么作用吗?通过写这篇文章,我确实意识到他们可能只是使用动态获取的分隔符来更改他们的模板。

标签: angularjs angularjs-directive


【解决方案1】:

如果 ng-bind 对内容本身有效,那么属性有什么作用吗?

使用ng-bind: 类属性值模板语法。例如:

<div class="ng-bind: expression;"> ... </div>

指令声明样式有四种变体:

E - Element name (default): <my-directive></my-directive>
A - Attribute (default): <div my-directive="exp"></div>
C - Class: <div class="my-directive: exp;"></div>
M - Comment: <!-- directive: my-directive exp -->

参考文献

【讨论】:

  • 不完全是我想要的,但没关系,因为它在某些情况下也可以工作。我发现this post 有助于获取当前的“startSymbol”和“endSymbol”,然后可以用于锻造正确的“车把”。
猜你喜欢
  • 1970-01-01
  • 2014-06-24
  • 1970-01-01
  • 2015-06-21
  • 2017-05-26
  • 2014-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多