【问题标题】:URL changes but view does not changeURL 改变但视图不变
【发布时间】:2015-05-05 02:37:06
【问题描述】:

这就是我定义 href 标记的方式。

<ion-item ng-repeat="chapter in chapters" ng-href="#/tab/kurals">
    {{chapter}}
</ion-item>

当我点击item时,浏览器的url变成了/tab/kurals,但是view没有变化。仍然显示旧视图。对于离子标签,我有一条抽象路线。所有其他链接都可以正常工作。

以下是我定义路线的方式。

$stateProvider.state('tab.kural', {
    url: '/kurals',
    views: {
        'tab-kural': {
            templateUrl: 'templates/tab-kural.html',
            controller: 'KuralCtrl'
        }
    }
});

我也试过这个。

$stateProvider.state('tab.kural', {
    url: '/kurals',
    templateUrl: 'templates/tab-kural.html',
    controller: 'KuralCtrl'
});

控制台中没有错误。

可能的原因是什么?

【问题讨论】:

  • 你有'父母'状态吗?例如$stateProvider.state('tab', { url: '/tabs', //etc. } ?
  • 是的,正如问题中提到的,我有抽象状态 /tabs
  • 这是因为错字吗?您的父状态中有 '/tabs',但 html 中有 ng-href="#/tab/kurals"。对不起,我只是在大声思考。
  • @manu29.d 这是一个有效的想法。我仔细检查了拼写错误..没有:(
  • @Purus,您是否在父状态上定义了url: "/tab"

标签: angularjs


【解决方案1】:

ng-href="#/tab/kurals" 将无法匹配 url: '/kurals',您可以更改其中的任何一个,例如 url:'/tabs/kurals'ng-href="#/kurals"。其他最好的方法是你使用 ui-serf="tab.kural"。

我假设您的子视图名称是“tab-kural”。

【讨论】:

  • 有一个抽象路由叫/tabs,它需要用作/tabs/kurals。所有其他链接都可以正常工作。
  • 我支持你的观点应该使用ui-sref
  • ui-sref 也不适用于这种特定状态。在这种情况下也没有错误。
猜你喜欢
  • 2022-06-14
  • 1970-01-01
  • 2017-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-28
  • 2021-02-10
  • 2018-02-20
相关资源
最近更新 更多