Rah*_*hal 5 angular2-forms angular2-template angular
我对Angular很新.我正在尝试使用Angular 2创建一个简单的Web应用程序,我允许用户从本地计算机中选择和映像.然后我想在<img>
标签中显示这个图像.稍后对图像执行操作,如旋转,更改比例,更改宽度等.
这就是我的组件中的内容
@Component({
selector: 'image-container',
template: `
<input type="file" (change)="changeListner($event)" />
<img id="image"/>
`,
directives: [ImageActionsComponent]
})
export class ImageContainerComponent {
// make FileReader work with Angular2
changeListner(event){
var reader = new FileReader();
reader.onloaded = function (e) {
// get loaded data and render thumbnail.
var src = e.target.result;
document.getElementById("image").src = src;
};
// read the image file as a data URL.
reader.readAsDataURL(event.target.files[0]);
}
}
Run Code Online (Sandbox Code Playgroud)
但它根本不起作用.如何使用Angular2读取图像并更新src属性?
我只是想学习Angular.:)
有没有更好更简单的方法来做到这一点?
它不起作用,因为你有onloaded
事件名称.没有这样的事件,它应该是onload
:
import {Component, ElementRef} from 'angular2/core'
@Component({
selector: 'image-container',
template: `
<input type="file" (change)="changeListner($event)" />
<img class="image" />
`,
directives: [ImageActionsComponent]
})
export class ImageContainerComponent {
constructor(private element: ElementRef) {}
changeListner(event) {
var reader = new FileReader();
var image = this.element.nativeElement.querySelector('.image');
reader.onload = function(e) {
var src = e.target.result;
image.src = src;
};
reader.readAsDataURL(event.target.files[0]);
}
}
Run Code Online (Sandbox Code Playgroud)
此外,最好用于ElementRef
在组件中定位图像.
归档时间: |
|
查看次数: |
14796 次 |
最近记录: |