javascript - Angular - 将变量传递给 index.html 中的脚本
问题描述
我正在尝试将变量数组“系列”发送到 HTML 中的脚本。有什么办法吗?
app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
name = 'Map';
series: any[];
constructor() {
this.series=[["RUS",50],["CAN",88],["CHE",21],["IND",43],
["GRL",21],["MEX",19],["FRA",60],["MAC",4],]
}
}
app.component.html
<h1>{{name}}</h1>
<ul>
<li *ngFor="let country of series">
{{ country }}
</li>
</ul>
在index.html 中
...
<script src="//cdnjs.cloudflare.com/ajax/libs/d3/3.5.3/d3.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/topojson/1.6.9/topojson.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/datamaps/0.5.8/datamaps.all.js"></script>
<script>
// -----------------------Need VARIABLES HERE-----------------------
var series = [
["RUS",50],["CAN",88],["CHE",21],["IND",43],
["GRL",21],["MEX",19],["FRA",60],["MAC",4],];
// Datamaps expect data in format:
// { "USA": { "fillColor": "#42a844", numberOfWhatever: 75},
// "FRA": { "fillColor": "#8dc386", numberOfWhatever: 43 } }
var dataset = {};
...
解决方案
您可以通过注入document
组件并为其分配如下变量来实现此目的:https ://stackblitz.com/edit/angular-a8xkz1
我相信你有你的理由,但我强烈反对这样做,为你的逻辑使用角度组件而不是 index.html
推荐阅读
- java - UDP 为每个新连接分配一个新套接字
- node.js - 如何解决超级账本结构中的“错误发送:执行事务时超时”?
- git - 如何在 git repo 中缩进我的代码并在没有历史记录的情况下提交和合并?
- android - 如何为 build.gradle 增值?
- azure - 用户无法访问 Azure b2c 租户
- python - Plotly 的 Scatterpolar:如何更改 theta 的范围?
- delphi - 嵌套块中声明的内联变量的范围和生命周期,范围是否也适用于对象?
- excel - vba 脚本的替代公式
- arrays - Powershell通过开始和结束字符将字符串拆分为数组
- powerbi - 在 Power BI 中按 DESC 顺序对日期筛选器进行排序