我可以用angularjs使用另一个模板引擎吗

Can i use another template engine with angularjs?

本文关键字:引擎 另一个 angularjs 我可以      更新时间:2023-09-26

我可以使用另一个带有Angular的模板引擎吗?我在谷歌上搜索了它,其中大部分只是指angular使用的当前模板引擎,我需要一个具有简单逻辑的模板引擎,如"if"、"or"。。非常感谢。

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

我首先向您介绍ngIf指令,在这里您可以有条件地包含DOM元素:

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

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

Brian提到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>

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

文档

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