我面临的问题是在两个状态之间传递数据而不暴露网址中的数据,就像用户不能真正直接落在这种状态上一样.
例如.我有两个状态"A"和"B".我正在状态"A"中进行一些服务器调用,并将调用的响应传递给状态"B".服务器调用的响应是一个字符串消息,这很长,所以我不能在url中公开它.
那么在角度ui路由器中有没有办法在状态之间传递数据,而不使用url params?
我有侧边栏菜单的应用程序.我在第二页,我正在调用控制器功能,它将我重定向到第一页使用:
$state.go('app.home');
Run Code Online (Sandbox Code Playgroud)
问题是在这个页面上现在显示后退按钮下一个侧边栏菜单图标,见下图:

有人可以告诉我如何拒绝将按钮添加到已分配侧栏菜单的页面中吗?
谢谢你的帮助.
app.js与路由器配置如下:
angular.module('Test', ['ionic', 'config', 'Test', 'LocalStorageModule'])
.run(function($ionicPlatform) {
$ionicPlatform.ready(function() {
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
if(window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
}
if(window.StatusBar) {
// org.apache.cordova.statusbar required
StatusBar.styleDefault();
}
});
})
.config(function($stateProvider, $urlRouterProvider, localStorageServiceProvider) {
localStorageServiceProvider
.setPrefix('max_relax');
$stateProvider
.state('app', {
url: '/app',
abstract: true,
templateUrl: 'templates/menu.html',
controller: 'AppCtrl'
})
.state('app.home', {
url: '/home',
views: {
'menuContent' :{
templateUrl: 'templates/home.html',
controller: …Run Code Online (Sandbox Code Playgroud) 我使用angularjs ui-router来建立应用程序中的各种状态.虽然我知道我可以从html中的链接(通过ui-sref)进入状态,是否可以从控制器内进入状态?
下面的代码片段是一个简单的angularjs应用程序,以帮助说明我的观点.
在下面的示例中,我有两种状态:
home包含文本输入字段的简单表单和在控制器中调用搜索功能的按钮.search,它接受一个名为text的查询参数.其控制器调用基于文本执行搜索的服务.结果显示在页面上.首先是模块的启动.
var app = angular.module('example', [
'ui.router'
]);
Run Code Online (Sandbox Code Playgroud)
下面是前面解释的ui路由状态的配置.
app.config(
function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/');
$stateProvider.
state('home', {
url: '/',
template: '<input ng-model="text" type="text" placeholder="Query Text">' +
'<button type="button" ng-click="search()">Search</button>',
controller: 'SearchFormController'
}).
state('search', {
url: '/search?text',
template: '<pre>{{results | json}}</pre>',
controller: 'SearchController'
});
});
Run Code Online (Sandbox Code Playgroud)
所述SearchFormController控制搜索的形式输入.该控制器只是将表单输入转发到search状态.是否可以引用搜索状态而不是构造URL并调用$ location.path?
app.controller('SearchFormController',
function($scope, $location) {
$scope.text = '';
$scope.search = function() …Run Code Online (Sandbox Code Playgroud)