【发布时间】:2016-11-26 08:15:20
【问题描述】:
我正在关注这个 railscast https://www.youtube.com/watch?v=ltoPZEzmtJA 但我不使用咖啡脚本。我正在尝试将咖啡脚本转换为 javascript,但遇到了问题。
咖啡脚本
jQuery ->
new AvatarCropper()
class AvatarCropper
constructor: ->
$('#cropbox').Jcrop
aspectRatio: 1
setSelect: [0, 0, 600, 600]
onSelect: @update
onChange: @update
update: (coords) =>
$("#crop_x").val coords.x
$("#crop_y").val coords.y
$("#crop_w").val coords.w
$("#crop_h").val coords.h
js.erb 文件
$(document).ready(function() {
$('.crop-image').on('click', function () {
$('#cropbox').Jcrop({
aspectRatio: 1,
setSelect: [0, 0, 100, 100],
onSelect: update,
onChange: update
})
});
update: (function(_this) {
return function(coords) {
$('.user').val(coords.x);
$('.user').val(coords.y);
$('.user').val(coords.w);
return $('.user').val(coords.h);
};
})(this)
});
我不明白他为什么决定创建一个类,并认为转换整个东西会更复杂。我遇到的麻烦是更新功能。我只是将他的更新功能的咖啡脚本插入转换器并使用输出。这会导致错误提示未定义更新。我哪里错了?
还有一个额外的问题:他在这里上课有什么意义?
谢谢!
【问题讨论】:
-
你可以使用这个转换器js2.coffee
-
"当你可以用 C 编写时,为什么要使用类!"
-
我一直在阅读 Javascript 的优秀部分,并且在那里推广了“构造类方法”,其优点是隐私,即暴露更少的对象属性
标签: javascript jquery ruby-on-rails coffeescript