0

Angular プロジェクトで cropperjs ライブラリを使用しようとしています。ドキュメントのクロッパーの例は、通常の静的 Web ページ ( <script>js のタグと cropper.css ファイルへのリンクを含む単純な index.html) で正常に動作します。

しかし、何らかの理由でこれが機能しません。Cropper はロードされているようで (console.log(Cropper)関数を実行します)、いくつかの機能がありますが、スタイルが欠落しているようです。

cropper.component.ts

import {Component} from "@angular/core";

var foo = require('cropperjs/dist/cropper');


@Component({
  selector: "cropper",
  template: `
    <div>
      <img id="image" src="https://dl.dropboxusercontent.com/s/vyeh3vqc93hbye4/Capture%20d%27%C3%A9cran%202016-05-27%2017.14.53.png?dl=0">
    </div>
  `,
  styleUrls: ['../styles/cropper.css', '../styles/cropper.component.css']
})
export class CropperComponent implements OnInit{
  ngOnInit(){
    var image = document.getElementById('image');
    var cropper = new Cropper(image, {
      aspectRatio: 16 / 9,
      crop: function(e) {
        console.log(e.detail.x);
        console.log(e.detail.y);
        console.log(e.detail.width);
        console.log(e.detail.height);
        console.log(e.detail.rotate);
        console.log(e.detail.scaleX);
        console.log(e.detail.scaleY);
      },
    });
  }
}
4

1 に答える 1

0

開発者ツールを見ると、cropper.js によって追加されたタグには、Angular がスタイリングに使用するカスタム属性 ( のようなもの) が追加されていなかった_ngcontent-xpk-4ため、cropperjs のスタイリングは機能しませんでした。

<link rel="stylesheet" href=".../cropper.css">コンポーネントで参照するのではなく、index.htmlにcropper.css()を追加するだけで解決しました。

于 2016-09-29T15:23:28.940 に答える