我有這個問題,不管我怎麼說,我不會讓我的自定義組件接受我發送它的參數。Angular2/Ionic2:無法執行'元素'上的'setAttribute':'()'不是有效的屬性名稱。
我嘗試了不同的方法,如用{{}}「」有無「」但最終我得到相同錯誤如果它編譯成模板的點:
失敗在'Element'上執行'setAttribute':'()'不是有效的屬性名稱。
我傾向於使用最新的版本,這是由離子-CLI(2.1.17)捆綁:
- 角:2.2.1
- 離子:2.0.0 - rc.4
- 打字稿:2.0.9
- rxjs:5.0.0 - beta.12
基本類是 替代-helper.ts:
export class SubstituteHelper {
number: number;
kind: string;
}
這被導入到substitute.ts:
import {Component, Input} from '@angular/core';
import {SubstituteHelper} from '../../app/substitute-helper';
@Component({
selector: 'substitute',
templateUrl: 'substitute.html'
})
export class SubstituteComponent {
@Input()
sub: SubstituteHelper;
}
這隨後在application.ts使用:
import {Component} from '@angular/core';
import {NavController, NavParams} from 'ionic-angular';
import {OverviewPage} from "../overview/overview";
import {SubstituteHelper} from '../../app/substitute-helper';
@Component({
selector: 'page-application',
templateUrl: 'application.html'
})
export class ApplicationPage {
showSubstituteVar: boolean = false;
subs: Array<SubstituteHelper>;
subNo: number = 0;
constructor(public navCtrl: NavController, public navParams: NavParams) {}
addSubstitute(kind: string) {
var sub = new SubstituteHelper();
sub.number = this.subNo;
sub.kind = kind;
this.subs.push(sub);
this.subNo += 1;
}
在HTML模板文件我嘗試不使用:
<div *ngIf="subs.length>0">
<div *ngFor="let substi of subs">
<substitute [sub]="substi"></substitute>
</div>
</div>
你是否在你的application.ts中導入了「SubstituteComponent」? – AishApp
addSubstitute叫什麼?什麼時候子集? –
你可以請加入作爲plunker –