Angular:使用ng-if来管理文本字符串是一个反模式吗?



我有一个Angular模板,它基于布尔范围变量呈现不同的导语:

<p ng-if="::verify">Blah blah verification</p>
<p ng-if="::!verify">Blah blah contact us</p>

我是Angular的新手,我仍然在努力找出最干净的方式来维护模板。这种方法是反模式吗?还有其他方法吗?

我对angular也比较陌生,所以我不能说它是不是一个反模式。从我目前使用的资源来看,似乎show和hide比if更适合清洁。

我认为这对于你的特殊情况很突出,你实际上有两个标签和表达式,将被评估,而评估一个给出两个结果。所以…

还有其他方法吗?

是的,在这种情况下,我会添加一个函数,该函数将返回不同的字符串结束并选择一个标记。例如:

<p>Blah blah {{ctrl.isValid()}}</p>

与angular控制器代码:

...
self.valid = false;
self.isValid = function() {
    return self.valid ? "verification" : "contact us";
};
...

似乎比if, show, or hide (IMHO)更干净。

最新更新