$ stateProvider无效

时间:2016-11-13 22:11:16

标签: angularjs ionic-framework

在开始之前,我已经查看了许多其他答案:

我正在使用Ionic构建应用程序 我从另一个我正在开发的应用程序中创建了应用程序,然而,$stateProvider似乎正在处理那个而不是这个。唯一的区别是工作的设置为离子选项卡(ionic start myApp tabs)模板,并将此设置为空白模板(ionic start myApp blank)。 index.html按预期加载,但是当我访问/login时,HTML页面未加载,控制器也没有加载。

routes.js

angular.module('vCAFI.routes', [])

.config(function($stateProvider, $urlRouterProvider) {
  $stateProvider
    .state('blocklyEditor', {
        url: '/blocklyEditor',
        templateUrl: 'templates/blocklyEditor.html',
        controller: 'blocklyEditorCtrl'
    })
    .state('login', {
        url: '/login',
        templateUrl: 'templates/login.html',
        controller: 'loginCtrl'
    });
  $urlRouterProvider.otherwise('/login')
});

的login.html

<ion-view title="Login" hide-nav-bar="true" hide-back-button="true" cache-view="false" nav-transition="none" id="page2">
  <ion-content padding="true" class="manual-ios-statusbar-padding" scroll="false">

    ...

  </ion-content>
</ion-view>

没有ui-view指令或Angular替代ion-view的任何内容。

当我访问时:

  

本地主机:8100 /#/登录

...我的回复是index.html。当我点击:

  

本地主机:8100 /模板/ login.html的

...它可以找到正确的页面(但由于index.html尚未加载,因此尚未加载任何离子内容)

我一直在设置templateUrllogin.html的不同路径,但没有任何作用。

没有ui.routerui.state注入到应用中,因为我被告知Ionic不需要它。我已经使用这些依赖项测试了它,但仍然没有看。

最后,在调试时日志中没有任何内容 - 当在routes.js中放置断点时,它正在被正确加载。

我添加了一个$stateChangeError处理程序,但仍未输出到日志:

.run(function($rootScope) {
  $rootScope.$on("$stateChangeError", function(event, toState, toParams, fromState, fromParams, error) {
    console.log(error);
  });
})

(我从来没有实现过这个处理程序,所以如果我错了就纠正我)

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

您需要<ion-nav-view>个元素才能在

中呈现路径模板