2
我有一些問題得到它的工作。我認爲我做得對,但似乎並非如此。從組件中的操作調用控制器動作
index.hbs
{{#if image}}
{{image-cropper imageToCrop=image setCroppedImage=setCroppedImage}}
<br>
{{/if}}
{{file-input action="setImage"}}
文件輸入組件拍攝圖像中,並且將圖像屬性到數據的URL,然後使圖像農作物分量出現。
圖像cropper.hbs
<div class="cropper-container">
<img src="{{imageToCrop}}">
</div>
<button {{action 'cropImage'}}>Crop Image</button>
{{croppedImage}}
當我點擊按鈕,它調用圖像cropper.js文件cropImage
行動
圖像cropper.js
actions: {
cropImage: function() {
var container = this.$(this.get('cropperContainer'));
var croppedImage = container.cropper('getCroppedCanvas');
this.sendAction('setCroppedImage', croppedImage);
}
}
所以我在這裏使用this.sendAction();
來撥打該組件,這是指回動作名稱的組件在index.hbs
文件,我認爲應該調用動作名稱控制器上的=
標誌
index.js左側(控制器上動作名稱)
setCroppedImage: function(croppedImage) {
console.log('set cropped image called on index controller');
this.set('finalCroppedImage', croppedImage);
},
但console.log
語句不會被調用,所以我知道該控制器的動作沒有被稱爲要麼。
我需要一些幫助來理解如何讓這個工作在這裏。