Angular 2 - 无法访问自定义属性

时间:2017-10-20 19:23:10

标签: angular attributes access

我正在使用这个包在我的应用程序上有一个绘图板(画布),现​​在我想要做的是创建动态画布并从数据库中填充数据(画布中的文本),我和#39;我想做的是拥有一个包含画布文本的自定义属性数据内容,如下所示:

.bam

对我的画布的引用如下所示:

  <div *ngFor="let c of loc.content.data">
    <div *ngIf="c.container == 'Canvas'">
        <canvas-whiteboard [attr.content]="c.subject"  #canvasWhiteboard [drawButtonClass]="'fa fa-pencil'" [clearButtonClass]="'fa fa-eraser'" [batchUpdateTimeoutDuration]="10"
        (onBatchUpdate)="sendBatchUpdate($event)" (onClear)="onCanvasClear()">
      </canvas-whiteboard>
    </div>
  </div>

然后在ngAfterViewInit中我试图访问那些[attr.content]来写文本,但是当我使用getAttribute(&#34; content&#34;)时,我得到:

  

财产&#39; getAttribute&#39;在类型上不存在   &#39; CanvasWhiteboardComponent&#39;

我理解,因为getAttribute是一个&#34; ElementRef&#34;方法,所以我决定通过修改从CanvasWhiteboardComponent到ElementRef的画布类型来切换到那个,但是当我这样做时,我再也无法访问画布的上下文了,因为ElementRef返回的DOM引用并不是包含上下文,所以我必须坚持声明为CanvasWhiteboardComponent的画布。 那么我如何访问&#34; CanvasWhiteboardComponent&#34;自定义属性?谢谢大家

1 个答案:

答案 0 :(得分:0)

@yurzui建议使用两个查询解决了它! CanvasWhiteBoardComponent获取上下文和其他内容的一个查询,以及ElementRef的另一个查询以获取对属性的访问:)