Ionic $ state.go没有导航到新视图

时间:2015-10-30 12:56:33

标签: angularjs ionic-framework ionic

我正在尝试在按钮ng-click事件中使用$ state.go。没有导航但我收到以下错误:

Error: Could not resolve 'selectContacts' from state 'tab.settings'我之前使用过这个但不是在标签式应用中,问题是什么?我觉得这将是一个非常简单的修复,但我正在努力根据文档查看它。

来自controllers.js

.controller('SettingsCtrl', function ($scope, $state, $stateParams) {
    $scope.goToContactsPage = function () {
        $state.go('selectContacts');
    }
})

来自app.js

.config(function($stateProvider, $urlRouterProvider) {
    $stateProvider
    // setup an abstract state for the tabs directive
    .state('tab', {
        url: '/tab',
        abstract: true,
        templateUrl: 'templates/tabs.html'
    })

    .state('tab.settings', {
        url: '/settings',
            views: {
                'tab-settings': {
                    templateUrl: 'templates/tab-settings.html',
                    controller: 'SettingsCtrl'
            }
        }
    })
    .state('selectContacts', {
        url: '/selectContacts',
         views: {
             'selectContacts': {
                 templateUrl: 'templates/selectContacts.html',
                 controller: 'ContactsCtrl'
             }
         }
     });

按钮:

<button class="button button-full button-positive" ng-click="goToContactsPage()">Select Contacts</button>

1 个答案:

答案 0 :(得分:1)

这是因为路由配置中的views属性。

views: {
   'selectContacts': {
      templateUrl: 'templates/selectContacts.html',
      controller: 'ContactsCtrl'
   }
}

我将其删除并替换为:

.state('selectContacts', {
      url: "/selectContacts",
      templateUrl: "templates/contact.html",
      controller: 'ContactsCtrl'
    });

检查此Codepen http://codepen.io/nampdn/pen/BoVweN