从URL获取ID,使用Angular2未定义params
Get ID from URL, params is undefined using Angular2
试图从URL中获取ID参数,但似乎我没有定义我的参数var。看不出哪里出了问题,所以也许有人可以帮忙!
代码
import {Component} from 'angular2/core';
import {ROUTER_DIRECTIVES, RouteParams, RouteConfig} from 'angular2/router';
import {OnInit} from 'angular2/core';
@Component({
selector: 'view-movie',
templateUrl : './templates/view-movie.tpl.html',
directives: [ROUTER_DIRECTIVES]
})
export class ViewmovieComponent implements OnInit {
public movie = {};
public id = String;
constructor(params: RouteParams){};
ngOnInit() {
this.id = params.get('id');
}
}
假设在构造函数后面的代码块中插入params.get,如
import {Component} from 'angular2/core';
import {ROUTER_DIRECTIVES, RouteParams, RouteConfig} from 'angular2/router';
import {OnInit} from 'angular2/core';
@Component({
selector: 'view-movie',
templateUrl : './templates/view-movie.tpl.html',
directives: [ROUTER_DIRECTIVES]
})
export class ViewmovieComponent implements OnInit {
public movie = {};
public id = String;
constructor(params: RouteParams){
this.id = params.get('id');
}
ngOnInit() {
console.log(this.id);
}
}
只需使用这一个
constructor(params: RouteParams){this.id = params.get('id');}
ngOnInit() {console.log(this.id);}
或者这个
constructor(private params: RouteParams){}
ngOnInit() {
this.id = this.params.get('id');
console.log(this.id);
}
因为如果我们在没有声明类型的情况下初始化某个东西,那么我们必须在构造函数内访问,但如果我们要在构造函数外访问,那么必须使用this
相关文章:
- 为什么“;未定义的“;在JavaScript中结束循环
- 要求未定义JS回调参数
- 如何检查管道中未定义的项目
- TypeError:无法读取属性'推'未定义的JavaScript
- $window.ga在AngularJS事件中未定义
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 如何消除代码中的未定义和其他问题
- Angular2-TypeError:无法读取属性'Id'(Typescript)中未定义的
- angular2形式-无法读取未定义的属性替换
- 传递给Angular2组件的字符串始终未定义
- Webpacked Angular2应用程序类型错误:无法读取属性'getOptional'的未定义
- Angular2单元测试Http MockBackend问题-无法读取mergeOptions中未定义的属性合并
- Angular2函数在服务中未定义
- Angular2 -类属性是未定义的,即使它被设置
- 从URL获取ID,使用Angular2未定义params
- Angular2 组件的“this”在执行回调函数时是未定义的
- JavaScript ES6对Angular2的承诺——未定义的变量
- 是否有像Angular2模板那样的JavaScript未定义属性处理?