0
  • 现在我正在为我的名字传递硬编码值。
  • 我正在尝试在sportsService 的脚本标签中传递我的名称键的动态用户名。
  • 它在我的 ts 文件中工作正常。
  • 但它在我的 html 文件中无法正常工作。
  • 我收到一个错误。---> 未捕获的类型错误:无法读取未定义的属性“marksSession”
  • 你们能告诉我如何在.html 的脚本标签内传递吗?
  • 在下面提供我的代码

索引.html

<script>
    (function(){var w=window;var ic=w.Intercom;if(typeof ic==="function"){ic('reattach_activator');ic('update',intercomSettings);}else{var d=document;var i=function(){i.c(arguments)};i.q=[];i.c=function(args){i.q.push(args)};w.Intercom=i;function l(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='https://widget.intercom.io/widget/APP_ID';var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s,x);}if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}})()
</script>

<script>
    let players=this.sportsService.marksSession();
    console.log("players--->" + players);
    if(players) {
        this.userId = players.user_players.SSO[0];
    }

    Intercom('trackEvent', 'share-link');

    window.intercomSettings = {
        app_id: 'APP_ID',
        name: "Jane Doe", // Full name
        email: "customer@example.com", // Email address
        created_at: 1312182000 // Signup date as a Unix timestamp
    };
</script>

体育.ts

import { sportsService } from '../../services/sports.service';

constructor(public sportsService : sportsService){

}

ngOnInit() {    

        let that =this;
        let players=this.sportsService.marksSession();
        if(players) {
            this.userId = players.user_players.SSO[0];
        }
}
4

1 回答 1

0

如果您在 HTML 页面上导入 TypeScript 文件,则应该处理您收到的 TypeError。我相信您需要在执行此操作之前将您的 TypeScript 编译为 JavaScript。

查看 W3Schools 了解如何在 HTML 中使用标签: https ://www.w3schools.com/tags/att_script_src.asp

于 2018-01-12T02:32:31.120 回答