Angular2 / Ionic2:无法在"元素"上执行'setAttribute':'()'不是有效的属性名称。



我有问题,无论我如何提出它,我都不会让自定义组件接受我发送的参数。

我尝试了使用{{}},'''或没有"的不同方法>

无法在"元素"上执行'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;
    }

这将导入到 seltoute.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-template 文件中,我尝试使用此操作:

    <div *ngIf="subs.length>0">
        <div *ngFor="let substi of subs">
            <substitute [sub]="substi"></substitute>
        </div>
    </div>

仅通过阅读代码以及从那里显示的内容来猜测。我发现了两个可能的问题:

  • <div *ngIf="subs && subs.length>0">subs当时可能是undefined
  • subs: SubstituteHelper[] = [](初始化值)

没有*ngif ()我放在上面的标签中,这就是解决此错误的原因。/p>

    <div *ngFor="let substi of subs">
        <substitute [sub]="substi"></substitute>
    </div>

相关内容

  • 没有找到相关文章

最新更新