9

我可以在 Angular 中使用另一个模板引擎吗?我用谷歌搜索了它,其中大部分只是指 Angular 使用的当前模板引擎,我需要一个具有简单逻辑的模板引擎,例如“如果”、“或”……谢谢。

4

3 回答 3

8

Angular 没有模板引擎替代品,主要是因为没有像其他框架(即 Backbone.js)那样的模板引擎。在 Angular 中,有字符串插值 ( {{expression}}) 但没有模板。

我首先将您指向 ngIf 指令,您可以在其中有条件地包含 DOM 元素:

<div ng-if="somethingIsTrue">TRUE</div>
<div ng-if="!somethingIsTrue">FALSE</div>

如果这还不够,请考虑您选择的模板引擎来预处理您的 HTML。您可以设置一个 grunt 任务,将模板文件转换为 Angular 可以引用的 HTML 文件。

于 2013-07-27T03:55:11.903 回答
4

布赖恩提到ng-ifng-switch也可能满足您的需求:

<div ng-switch on="selection">
    <div ng-switch-when="settings">Settings Div</div>
    <span ng-switch-when="home">Home Span</span>
    <span ng-switch-default>default</span>
</div>

这将使用selection中指定的值打开 的值ng-switch-whenng-switch-default用作默认情况。

文档

于 2013-07-27T05:20:54.997 回答
1

您可能可以重写 $interpolateProvider,但不建议这样做

于 2013-07-27T08:30:19.020 回答