2017-02-11 1 views
1

Ich bin neu in Coffeescript. Ich habe bereits Code in js geschrieben, jetzt möchte ich es in coffeescript umwandeln, ich habe viel versucht, ich habe This auch verweisen. aber es wird mir nicht helfen.CoffeeScript Funktion Ausgabe

hier ist mein Code,

this.$scope.callTestFuntion = function(){ 
    this.blockingObject.render(function(dataURL){ 
     console.log('via render'); 
     console.log(dataURL.length); 
    }); 
    } 
    this.$scope.blockingObject.callback=function(dataURL){ 
    console.log('via function'); 
    console.log(dataURL.length); 
    this.myCroppedImage = dataURL; 
    } 

    var handleFileSelect=function(evt) { 
    console.log('here'); 
    var file=evt.currentTarget.files[0]; 
    var reader = new FileReader(); 
    reader.onload = function (evt) { 
     this.$scope.$apply(function($scope){ 
     this.$scope.myImage=evt.target.result; 
     }); 
    }; 
    reader.readAsDataURL(file); 
    }; 

Ich möchte es in Coffeescript-Syntax konvertieren. Bitte hilf mir.

Dank

+1

Warum möchten Sie JS in Coffescript umwandeln, das schließlich/zwangsläufig in JS konvertiert wird? – Thomas

Antwort

1

Wenn Sie nur den Code dann http://js2.coffee

verwenden konvertieren möchten
@$scope.callTestFuntion = -> 
    @blockingObject.render (dataURL) -> 
    console.log 'via render' 
    console.log dataURL.length 
    return 
    return 

@$scope.blockingObject.callback = (dataURL) -> 
    console.log 'via function' 
    console.log dataURL.length 
    @myCroppedImage = dataURL 
    return 

handleFileSelect = (evt) -> 
    console.log 'here' 
    file = evt.currentTarget.files[0] 
    reader = new FileReader 

    reader.onload = (evt) -> 
    @$scope.$apply ($scope) -> 
     @$scope.myImage = evt.target.result 
     return 
    return 

    reader.readAsDataURL file 
    return 

# --- 
# generated by js2coffee 2.2.0 
1

Hier wird ein konvertierter Code:

# CoffeeScript code converted from JavaScript 
# from Georgi Naumov 
# [email protected] for contacts and suggestions 
@.$scope.callTestFuntion = -> 
    @.blockingObject.render (dataURL) -> 
    console.log 'via render' 
    console.log dataURL.length 
@.$scope.blockingObject.callback = (dataURL) -> 
    console.log 'via function' 
    console.log dataURL.length 
    @.myCroppedImage = dataURL 

handleFileSelect = (evt) -> 
    console.log 'here' 
    file = evt.currentTarget.files[0] 
    reader = new FileReader() 
    reader.onload = (evt) -> 
    @.$scope.$apply ($scope) -> 
     @.$scope.myImage = evt.target.result 
    reader.readAsDataURL file 

Und hier ist JavaScript nach der Kompilierung in Folge:

// Generated by CoffeeScript 1.12.3 
(function() { 
    var handleFileSelect; 

    this.$scope.callTestFuntion = function() { 
    return this.blockingObject.render(function(dataURL) { 
     console.log('via render'); 
     return console.log(dataURL.length); 
    }); 
    }; 

    this.$scope.blockingObject.callback = function(dataURL) { 
    console.log('via function'); 
    console.log(dataURL.length); 
    return this.myCroppedImage = dataURL; 
    }; 

    handleFileSelect = function(evt) { 
    var file, reader; 
    console.log('here'); 
    file = evt.currentTarget.files[0]; 
    reader = new FileReader(); 
    reader.onload = function(evt) { 
     return this.$scope.$apply(function($scope) { 
     return this.$scope.myImage = evt.target.result; 
     }); 
    }; 
    return reader.readAsDataURL(file); 
    }; 

}).call(this); 
+0

Dies ist auch funktionierende Lösung für mich +1 für das –

+0

Ich habe gerade ein Problem mit redundanter Rückgabe der Funktion behoben. Viel Glück :) –

Verwandte Themen