0

我不知道如何正确使用ui-route,angular-ui 网站上的示例没有帮助。

这是我的代码。我想实现一个简单的导航菜单。当路线与项目的路线匹配时,我想显示,<span>否则我想显示<a>。我希望$uiRoute反映当前的路线,但显然它没有,因为<span>无论路线是什么,我都会在输出中获得元素。

http://jsbin.com/ugefoq/2/edit

<!DOCTYPE html>
<html ng-app="app">
  <head>
    <meta charset=utf-8 />
    <script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.1.1/angular.min.js" type="text/javascript"></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/angular-ui/0.4.0/angular-ui.min.js" type="text/javascript"></script>
    <script type="text/javascript">
      angular.module('app', ['ng', 'ui']);
    </script>
  </head>
  <body>
    <ul>
      <li ui-route="#/link0">
        <a ui-if="$uiRoute" ng-href="#/link0">link0</a>
        <span ui-if="!$uiRoute">link0</span>
      </li>
      <li ui-route="#/link1">
        <a ui-if="$uiRoute" ng-href="#/link1">link1</a>
        <span ui-if="!$uiRoute">link1</span>
      </li>
    </ul>
  </body>
</html>
4

1 回答 1

1

看起来你说得对,只是根据你的描述,你的ui-if陈述被颠倒了。现在,您的说法是,如果 url 与我的 href 匹配,则显示链接,如果不匹配,则显示跨度。

另一方面,如果你在这里做一个单页应用程序,你可能不想使用ui-if它,因为它完全删除了元素,这意味着当你的路由发生变化时你不能动态地显示它。

于 2013-05-01T19:45:42.503 回答