我正在尝试在Angular项目中使用cropperjs库。文档中的cropper示例在正常的静态网页上运行良好(简单的index.html, js的<script>
标记和一个指向cropper.css文件的链接)。
但由于某些原因,这不起作用。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);
},
});
}
}
查看开发者工具,cropper.js添加的标签没有添加Angular用于样式的自定义属性(那些看起来像_ngcontent-xpk-4
的),所以cropperjs的样式不起作用。
只需在index.html中添加cropper.css (<link rel="stylesheet" href=".../cropper.css">
),而不是在解决它的组件中引用它