相关疑难解决方法(0)

AngularJS ui路由器在没有URL的状态之间传递数据

我面临的问题是在两个状态之间传递数据而不暴露网址中的数据,就像用户不能真正直接落在这种状态上一样.

例如.我有两个状态"A"和"B".我正在状态"A"中进行一些服务器调用,并将调用的响应传递给状态"B".服务器调用的响应是一个字符串消息,这很长,所以我不能在url中公开它.

那么在角度ui路由器中有没有办法在状态之间传递数据,而不使用url params?

parameters state angularjs angular-ui-router

144
推荐指数
2
解决办法
14万
查看次数

离子框架$ state.go('app.home'); 是在我要去的页面上添加后退按钮(如何删除它)?

我有侧边栏菜单的应用程序.我在第二页,我正在调用控制器功能,它将我重定向到第一页使用:

$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)

javascript angularjs angular-ui-router ionic-framework

50
推荐指数
2
解决办法
5万
查看次数

从控制器内调用angularjs ui-router状态

我使用angularjs ui-router来建立应用程序中的各种状态.虽然我知道我可以从html中的链接(通过ui-sref)进入状态,是否可以从控制器内进入状态?

下面的代码片段是一个简单的angularjs应用程序,以帮助说明我的观点.

在下面的示例中,我有两种状态:

  1. 有一个状态称为home包含文本输入字段的简单表单和在控制器中调用搜索功能的按钮.
  2. 有一个状态调用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)

angularjs angular-ui-router

5
推荐指数
1
解决办法
1万
查看次数