おかげで両方を、動作します角度。はい、私は誤ってAngular v2がAngularJSと同義であると仮定していました。それは私に知らせてくれてありがとう。私が使用しているAngular v2です。
import { Component, ViewEncapsulation, OnInit, OnDestroy, Input } from '@angular/core';
@Component({
selector: 'all-data-page',
templateUrl: './all-data-page.component.html',
styles: [ require('./all-data-page.style.scss') ],
})
export class AllDataPageComponent implements OnInit {
@Input() allData: any;
@Input() type: any;
private criticalityChartData: any[] = [];
private categoryRows: any[] = [];
private selected: any = null;
private colors: any = {
'Safeguards': {
'MEC': '#8f8fc6',
'MEC-P': '#ebb174',
'BPCS': '#2eb9ba',
'BPCS-T': '#5a96d0',
'BPCS-C': '#c0db73',
'SIS-A': '#e5cf2d',
'SIS': '#f69c94',
'Other LS': '#ea7474',
'Other LS-T': '#50c0a4',
'Other LS-C': '#81c341',
'PRO': '#6f6db2',
'ROUND': '#b94a9c',
'PM': '#ca94c2',
'OCC': '#1cac5c',
'OTHER': '#d56853'
}
};
ngOnInit(): void {
this.allData.forEach((category) => {
if (category != null && category.Title === this.type) {
if (!!category.CriticalityPieChart) {
this.criticalityChartData = category.CriticalityPieChart;
category.Items.forEach((item) => {
this.categoryRows.push({
'fullObject': item,
'chartData': {
'ValueColor': item != null ? this.colors[this.type][item.Category] : '',
'Value': item != null ? item.Criticality : '0.0',
'ValueLabel': item != null ? item.Title : ''
}
});
if (this.selected === null) {
this.selected = this.categoryRows[0].fullObject;
}
});
}
}
});
}
**// This function gets called:**
selectCategory(category) {
this.selected = category;
}
closeDetails() {
this.selected = null;
}
**// This function doesn't get called:**
clickToFilter_Clicked() {
alert("Clicked!");
}
}
私はスポットを見ていないよ:typescriptファイルで
<!-- filter -->
<div class="filter" (click)="clickToFilter_Clicked()"> **<!-- This is where I'm having trouble -->**
...
</div>
<!-- data list -->
<div class="data-list">
<all-data-row *ngFor="let item of categoryRows; let last=last"
relativeWidth="100"
[item]="item.chartData"
[last]="last"
(click)="selectCategory(item.fullObject)" **<!-- This works somehow -->**
[selected]="selected">
</all-data-row>
</div>
:ここ
は(角内と外を知っていた)私は別の開発者によって継承されてきたコードをです関数が$ scopeに代入されているコード内にあります。上のtypescriptでは、selectCategory(...)が機能します。角度コードで呼ばれています。それでも私は同じことをしているように見えますが、clickToFilter_Clicked()は機能しません(呼び出されません)。
コードを投稿してください。 – Phix
これは角か角か? Angular(> v2)はかっこのバインディングを使用しますが、AngularJSは使用しません。 – Phix