Я отображаю диаграмму Венна в angular2 + шаблон пользовательского интерфейса.Я делаю это, вызывая файл javascript, импортируя этот файл в код .ts.Но значения являются статическими, взятыми из одного и того же файла JavaScript.Как -
venn-example.js
var sets = [ {sets: ['A'], size: 12},
{sets: ['B'], size: 12},
{sets: ['A','B'], size: 2}];
var chart = venn.VennDiagram();
d3.select("#venn").datum(sets).call(chart);
Но здесь я хочу, чтобы значения наборов исходили из файла angular.ts.
app.component.ts
const url = '../../../../assets/venn.example.js';
@Component({
selector: 'app-node-venn',
templateUrl: './node-venn.component.html',
styleUrls: ['./node-venn.component.scss']
})
export class NodeVennComponent implements OnInit {
loadAPI: Promise<any>;
sets
constructor() { }
ngOnInit() {
}
//code to load Javascript.
public buttonClicked() {
this.loadAPI = new Promise((resolve) => {
console.log('resolving promise...');
this.loadScript();
});
}
public loadScript() {
console.log('preparing to load...')
let node = document.createElement('script');
node.src = url;
node.type = 'text/javascript';
node.async = true;
node.charset = 'utf-8';
document.getElementsByTagName('head')[0].appendChild(node);
}
seekAPI() {
console.log("INSIDE seekAPI() ")
this.allAPI = [{ sets: ['channel'], size: 12 },
{ sets: ['incidentCity'], size: 12 },
{ sets: ['channel', 'incidentCity'], size: 2 }];
}
}
}
Я хочу, чтобы значениям, установленным из файла javascript venn.js, было присвоено значение this.allAPI из приложения.ts file
т.е.
var sets = this.allAPI;
Пожалуйста, помогите.Как соотнести / передать такое значение.