【发布时间】:2017-04-20 05:50:52
【问题描述】:
我是 angularjs 的新手,我对 ng-include 和 $state.includes 之间没有什么混淆。谁能告诉我为什么我们使用 $state.includes 而不是 ng-include 指令?
【问题讨论】:
标签: angularjs angular-ui-router state angularjs-ng-include
我是 angularjs 的新手,我对 ng-include 和 $state.includes 之间没有什么混淆。谁能告诉我为什么我们使用 $state.includes 而不是 ng-include 指令?
【问题讨论】:
标签: angularjs angular-ui-router state angularjs-ng-include
假设您有一个带有一些子菜单的父菜单。对于每个子菜单,您都有这样的东西来添加活动类:
ui-sref-active="active"
但是当您导航到每个子状态时,您还需要为父菜单添加活动类。然后您可以使用ui-router包括。
<li ng-class="{ active: state.includes('parentState') }">
注意:您必须将此添加到您的控制器:
$scope.state = $state;
关于 ng-include,它与 $state.include 无关。它将外部 html 编译到指令中。
【讨论】:
它们都是分开的东西。喜欢 Java 和 JavaScript? :-)
$state.includes 是一种在使用 ui-router 时查看当前状态是否是所提供状态的子状态的方法。
$state.includes(stateName [, params])返回布尔值
确定当前活动状态是否等于状态
stateName的子状态的方法。如果任何params被通过,那么它们也将被测试是否匹配。并非所有参数都需要传递,只需传递您想要测试是否相等的参数即可。
其中,ng-include 是一个 AngularJS 指令,用于获取、编译和包含外部 HTML 片段。
不过,在询问之前,您可能应该尝试在 Internet 上阅读有关它们的信息!
【讨论】: