我有一个包含一些AngularJS页面的PHP应用程序。
我想在不同的Angular控制器中重用其中一个模板,并使用Angular根据下拉列表的值隐藏一些内容。
我不想重复我的工作,并且制作一个几乎与ng-hide相同的模板,因为我最终会制作内容的多个副本,并且在进行更改时可能会感到失步。
使用模板的其他地方没有,也没有根据下拉菜单定义隐藏和显示方法。如何不使用ng-hide等隐藏和显示Angular中的内容?我需要制作虚拟控制器方法来避免错误吗?当然有更好的方法吗?
最佳答案
您可以将ng-if
与bool变量一起使用,该变量仅在要隐藏该控件的位置定义并设置为false:
<div ng-if="showTheDiv !== false"></div>
只要未定义
$scope.showTheDiv
或将其设置为true
,就会显示内容。因此,如果您需要将其隐藏在某个地方,只需确保设置此值即可。更好的解决方案是将重复的部分封装在指令中,然后您将可以重复使用该指令,并使用合理的默认值添加一些参数。