首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角不能赋值给对象‘[对象HTMLImageElement]’的只读属性“HTMLImageElement”

角不能赋值给对象‘[对象HTMLImageElement]’的只读属性“HTMLImageElement”
EN

Stack Overflow用户
提问于 2019-12-10 09:01:44
回答 1查看 1.3K关注 0票数 2

我试图改变元素在dom中的位置,但是得到了这个错误。我用elementRef。

Html:

代码语言:javascript
复制
<div class="container">
  <div class="original-pdf">
    <pdf-viewer *ngIf="pdfSrc" [(page)]="pageVariable" [show-all]="true" [render-text]="true" [original-size]="true"
      [src]="pdfSrc">
     </pdf-viewer>
     <img #Signature *ngIf="imageExpress" class="signature-image" [src]="imageExpress | safeHtml" cdkDragBoundary=".original-pdf"
     (cdkDragEnded)="onDragEnded($event)" cdkDrag>
  </div>
</div> 

TS:

代码语言:javascript
复制
import { Component, AfterViewInit, ViewChild, ElementRef } from '@angular/core';
@ViewChild('Signature', {static: false }) Signature: ElementRef;

ngAfterViewInit() {
    this.openPdf();
    this.openImage();
    setTimeout(() =>{
      console.log(this.Signature.nativeElement.offsetTop);
      this.Signature.nativeElement.offsetTop = 0;
    }, 1000);
  }
EN

回答 1

Stack Overflow用户

发布于 2019-12-10 09:18:36

来自MDN DOC

HTMLElement.offsetTop只读属性返回当前元素相对于offsetParent节点顶部的距离。

offsetTop是只读属性.这就是为什么你会犯这样的错误。

代码语言:javascript
复制
Angular Cannot assign to read only property 'offsetTop' of object '[object HTMLImageElement]'

可能您可以使用top属性而不是offsetTop

代码语言:javascript
复制
this.Signature.nativeElement.style.top = "0px";
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59263526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档