我正在尝试在按钮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>
答案 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