angular2中的打字稿,如何通过此访问类变量

工作

给定此代码,我如何访问对象“会话”?由于“ this”为空而失败:

/// <reference path="chrome/chrome-app.d.ts" />

import { Component, Input, OnInit } from '@angular/core';
import { AppService } from './app.service';

@Component({
    selector: 'tabs',
    templateUrl: './templates/app.html',
    providers: [ AppService ]
})

export class AppComponent implements OnInit {
    public sessions : Object;
    constructor( private appService : AppService ) {}

    getBookmarkLists() {
        console.log(this.sessions) // it gives undefined
        this.sessions['test'] = 'yea'; // it fails
        this.appService.getBookmarks().then(function(bookmarks : any) {
            console.log(this.sessions) // it fails
        });

    }

    ngOnInit() {
        this.getBookmarkLists();
    }
 }

我希望能够访问并填充变量。

阿列克·科瓦尔奇克

Sessions据我所知,您没有在任何地方初始化此对象:

export class AppComponent implements OnInit {
    public sessions: Session[] = []; // You forgot here to initialize it
    constructor( private appService : AppService ) {}

    getBookmarkLists() {
        console.log(this.sessions) // no it shouldn't give undefined
        this.sessions['test'] = 'yea'; // and this shouldn't fail
        this.appService.getBookmarks().then((bookmarks : any) => {
            // this should be an arrow function or function bound to use it
            // otherwise this will point to the function itself.
            console.log(this.sessions) // it shouldn't fail
        });

    }

    ngOnInit() {
        this.getBookmarkLists();
    }
}

sessions = [];作为重要组成部分。因此,这不仅是this在方法中引用类实例的问题

传递给的回调then应该是一个箭头函数,而不是经典函数,以保留this对类实例引用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

`this` 变量在 angular2 打字稿中的 js 方法或包之外不可访问

来自分类Dev

在 Angular2 打字稿类中找不到模块

来自分类Dev

如何在打字稿Angular2中将JSON对象与变量绑定?

来自分类Dev

扩展http类并访问自定义属性(Angular2打字稿)

来自分类Dev

扩展http类并访问自定义属性(Angular2打字稿)

来自分类Dev

依赖注入抽象类打字稿(Angular2)

来自分类Dev

如何通过打字稿代码动态注入Angular2子组件?

来自分类Dev

如何在angular2或打字稿中获取ng-select中的选项

来自分类Dev

如何使Angular2在打字稿中使用eclipse

来自分类Dev

在Angular2中实现动态路由(打字稿)

来自分类Dev

使用Gulp在Angular2中编译打字稿文件

来自分类Dev

如何通过打字稿中的类名称选择元素?

来自分类Dev

打字稿如何在angular2中转换为javascript?

来自分类Dev

如何在Angular2 Javascript中添加子组件(无打字稿)

来自分类Dev

如何在angular2 [打字稿]中定义具有复杂json结构的模型?

来自分类Dev

通过事件调用的方法更改类变量值或类属性值不起作用 Angular 2 打字稿

来自分类Dev

Angular2 打字稿语法

来自分类Dev

如何在angular2 webpack打字稿中包含第三方javascript库

来自分类Dev

如何在Angular2 RC5打字稿中调用共享指令的方法?

来自分类Dev

如何通过打字稿在Vue2中将Vue类组件与复合API结合使用

来自分类Dev

如何在未知密钥中通过 javascript 或打字稿中的键访问对象

来自分类Dev

通过Angular中的插值将CSS应用于打字稿变量的某些部分

来自分类常见问题

Angular2:子组件访问父类变量/函数

来自分类Dev

Angular2 - 通过事件的对象访问变量

来自分类Dev

监视服务中的更改并更新angular2,打字稿中的组件

来自分类Dev

通过括号访问密钥时如何将密钥限制为打字稿中定义的密钥

来自分类Dev

如何在angular2(打字稿)上将js库与jQuery一起使用?

来自分类Dev

如何使用打字稿检查Angular2版本

来自分类Dev

在打字稿中替换Angular2的Elvis运算符

Related 相关文章

  1. 1

    `this` 变量在 angular2 打字稿中的 js 方法或包之外不可访问

  2. 2

    在 Angular2 打字稿类中找不到模块

  3. 3

    如何在打字稿Angular2中将JSON对象与变量绑定?

  4. 4

    扩展http类并访问自定义属性(Angular2打字稿)

  5. 5

    扩展http类并访问自定义属性(Angular2打字稿)

  6. 6

    依赖注入抽象类打字稿(Angular2)

  7. 7

    如何通过打字稿代码动态注入Angular2子组件?

  8. 8

    如何在angular2或打字稿中获取ng-select中的选项

  9. 9

    如何使Angular2在打字稿中使用eclipse

  10. 10

    在Angular2中实现动态路由(打字稿)

  11. 11

    使用Gulp在Angular2中编译打字稿文件

  12. 12

    如何通过打字稿中的类名称选择元素?

  13. 13

    打字稿如何在angular2中转换为javascript?

  14. 14

    如何在Angular2 Javascript中添加子组件(无打字稿)

  15. 15

    如何在angular2 [打字稿]中定义具有复杂json结构的模型?

  16. 16

    通过事件调用的方法更改类变量值或类属性值不起作用 Angular 2 打字稿

  17. 17

    Angular2 打字稿语法

  18. 18

    如何在angular2 webpack打字稿中包含第三方javascript库

  19. 19

    如何在Angular2 RC5打字稿中调用共享指令的方法?

  20. 20

    如何通过打字稿在Vue2中将Vue类组件与复合API结合使用

  21. 21

    如何在未知密钥中通过 javascript 或打字稿中的键访问对象

  22. 22

    通过Angular中的插值将CSS应用于打字稿变量的某些部分

  23. 23

    Angular2:子组件访问父类变量/函数

  24. 24

    Angular2 - 通过事件的对象访问变量

  25. 25

    监视服务中的更改并更新angular2,打字稿中的组件

  26. 26

    通过括号访问密钥时如何将密钥限制为打字稿中定义的密钥

  27. 27

    如何在angular2(打字稿)上将js库与jQuery一起使用?

  28. 28

    如何使用打字稿检查Angular2版本

  29. 29

    在打字稿中替换Angular2的Elvis运算符

热门标签

归档