Angular2-根据其他模型值显示和隐藏标签?

时间:2018-08-28 03:31:56

标签: angular angular-ng-if

我有这样的HTML。

<label ng-if="" for="lblConcat">My label
</label>
<div>
    <span  ng-bind="model.test1"></span>
    <span  ng-bind="model.test2"></span>
    <span  ng-bind="model.test3"></span>
    <span  ng-bind="model.test4"></span>
</div>

如果至少一个跨度具有值,我想显示/隐藏标签。

我知道我们可以在Ng-If中使用多个表达式,但这是用于检查null和空值的很长的代码。

我们也可以在控制器中创建一个函数并在Ng-If中调用。 (函数在page_load中循环无穷大时间。)

但是使用angular2属性在HTML本身中有什么方法吗?

1 个答案:

答案 0 :(得分:1)

假设您使用的是AngulaJS,请检查“对象”键以确定该对象中存在从test开始的属性。

 <label ng-if="checkValue()" for="lblConcat">My label

$scope.checkValue = function(){
  var status = false
  if(Object.keys($scope.model).some((k) => ~k.indexOf("test") && !k )){
    status = true
  }
  return status 
}