如何在javascript中插入typescript属性?

时间:2018-01-12 06:26:07

标签: typescript ionic-framework

我正在尝试使用InAppBrowser插件的this.data方法添加名为executescript()的typescript属性,但该属性返回undefined而不是'testdata'

我不知道这是否适用,或者我是否做错了。

import { Component } from '@angular/core';

import { NavController, LoadingController, NavParams} from 'ionic-angular';
import { InAppBrowser } from '@ionic-native/in-app-browser';


@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

  browser: any;
  data = 'testdata';

  constructor(
    public navCtrl: NavController,
    public navParams: NavParams,
    public iab: InAppBrowser
  ) {}

        showIAB(){
                this.browser = this.iab.create('http://example.com/','_blank','location=no,toolbar=yes,zoom=no,hardwareback=no,EnableViewPortScale=yes,closebuttoncaption=Done')
                this.browser.on('loadstop').subscribe(
                  ev =>{
                    this.browser.executeScript({
                      code: `document.getElementById('username-1202').value = this.data;
                      document.getElementById('user_password-1202').value = '123456';`
                    })
                  },
                  err =>{

                  }
                )

}

1 个答案:

答案 0 :(得分:1)

您没有正确地将此.data注入模板字符串,请替换为${this.data}

{ code: `document.getElementById('username-1202').value = '${this.data}';
document.getElementById('user_password-1202').value = '123456';`}

如果你按照自己的方式行事,那么" this.data"将采用新窗口的上下文,而不是原始窗口。