javascript - Angular 2、TypeScript 和 ui-router - 如何获取状态参数

标签 javascript angularjs typescript angular angular-ui-router

大家好,我想知道如何使用 Angular 2、TypeScript 和 ui-router 从状态中获取状态参数。我尝试查看新文档,但他们似乎没有太多关于 ng2 ui-router 的文档。

下面我添加了我的 component.ts 以供引用。任何帮助将不胜感激。

import {Component} from '@angular/core';
import {HTTP_PROVIDERS} from '@angular/http';
import {UIRouter} from 'ui-router-ng2/router';

@Component({
  selector: 'Detail',
  template: require('./detail.html'),
  providers: [HTTP_PROVIDERS]
})

export class Detail {
  constructor(private uiRouter:UIRouter) {
    console.log('uiRouter ', this.uiRouter.globals.params);
  }
}

在 Angular 1 中,我会按如下方式执行此操作:

(function() {
  'use strict';

  angular
  .module('private')
  .controller('Controller', Controller);

  function Controller($state) {
    var vm = this;
    console.log($state.params.studentID);
  }
})();

如有任何建议,我们将不胜感激。

最佳答案

通过执行以下操作,我能够解决状态参数问题:

import {Component} from '@angular/core';
import {HTTP_PROVIDERS} from '@angular/http';
import {UIROUTER_DIRECTIVES} from 'ui-router-ng2';
import {UIRouter} from 'ui-router-ng2/router';

@Component({
  selector: 'Detail',
  template: require('./detail.html'),
  directives: [UIROUTER_DIRECTIVES],
  providers: [HTTP_PROVIDERS]
})

export class Detail {
    public detailParam: any;

    constructor(private uiRouter:UIRouter) {
      this.detailParam = this.uiRouter.globals.params;
      console.log('state params: ', this.detailParam);
  }
}

但经过更多研究后,我在此处找到了关于 Angular 2 的 ui-router 的更好文档: https://ui-router.github.io/ng2/

看起来处理状态参数的正确方法是

import {Transition} from "ui-router-ng2"

并使用

trans.params().detailID

我无法让 trans.params() 在这个特定时刻工作,但至少我找到了一个临时解决方案和更好的文档来找到合适的解决方案。

关于javascript - Angular 2、TypeScript 和 ui-router - 如何获取状态参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38631976/

相关文章:

TypeScript:从任何到一切的隐式转换?

javascript - 如何在 jQuery/javascript 中复制此图像缩放动画效果?

javascript - 使用 PHP 和 Javascript 将字母数字值作为函数内的参数传递时出现错误

javascript - 如何在 Angular ui-router 中的 anchor 单击中启用默认事件

javascript - JSON.解析: unexpected character in AngularJS and PHP

javascript - 如何解析$q.all?

javascript - 输入清理——将 HTML 传递到 JS 传递到 PHP 传递到 MySQL

javascript - 单击后使按钮只读

javascript - 类型错误 : The 'compilation' argument must be an instance of Compilation

javascript - 如何正确等待模板在 Angular 2 中更新