假设我有一个包含值“HOMEPAGE”的字符串
vm.string = "HOMEPAGE"
我想在 div 内部执行一个 ng-if,如果 vm.string 等于这五个字符串之一,它会显示。
"HOMEPAGE"
"ABOUT"
"STORE"
"EXAMPLE"
"SOMETHING"
我可以在 ng-if 中使用 or 运算符来实现预期效果
<div ng-if="WhateverController.string == 'HOMEPAGE'
|| WhateverController.string == 'ABOUT'
|| WhateverController.string == 'STORE'
|| WhateverController.string == 'EXAMPLE'
|| WhateverController.string == 'SOMETHING'">
This will display because the string is 'HOMEPAGE'
</div>
我也可以通过在我的 Controller 中创建一个返回 bool 值的函数来做到这一点。
vm.isTrue = function () {
return (vm.string == 'HOMEPAGE'
|| vm.string == 'ABOUT'
|| vm.string == 'STORE'
|| vm.string == 'EXAMPLE'
|| vm.string == 'SOMETHING');
};
<div ng-if="WhateverController.isTrue">
This will display because the string is 'HOMEPAGE'
</div>
我想问大家的问题是,这两种方法中的哪一种被认为是更“有 Angular ”的方法?我偏爱在 javascript 内部执行此操作,因为它使 HTML 看起来更干净,但我很好奇是否有一种方法优于另一种方法以及为什么。
最佳答案
如果您打算只在代码的一个地方使用此检查,我会说这无关紧要,除非您希望 HTML 看起来更干净。这只是一个偏好问题。
另一方面,如果您要在代码中多次检查该条件,则使用函数会更好。
关于javascript - 执行条件 ng-if 检查的 "angular"方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37883580/