ui-router $ state.includes匹配所有后代但不匹配父级

时间:2015-01-06 23:34:31

标签: angularjs angular-ui-router

我希望匹配所有状态的后代状态,但不匹配状态本身。例如我希望匹配about.person.itemabout.person,但不匹配about

我想使用以下通配模式:

$state.includes('about.*.**');

但这无法匹配。

这似乎是预期的行为,因为以下测试在添加到state spec file时失败(对about.person.item的当前状态进行测试)。

expect($state.includes('about.*.**')).toBe(true);

我可以用$state.includes('about.**') && !$state.is('about')完成我需要的东西,但感觉很笨重。

这是全局匹配的预期行为吗?

注意:我已经确定了一项修复工具,不会破坏其他测试以供参考:https://github.com/jonotron/ui-router/commit/e39b27a2cb7d88525c446a041f9fbf1553202010

1 个答案:

答案 0 :(得分:1)

这似乎是一个错误。我已修补此PR:https://github.com/angular-ui/ui-router/pull/1680已合并为母版。