我在使用 CoffeeScript 时有时会遇到这个奇怪的问题。下面的例子:
CoffeeScript :
$scope.function1 = () ->
console.log("函数1")
$scope.function2 = () ->
console.log("函数2")
Javascript:
$scope.function1 = 函数() {
console.log("函数1");
返回 $scope.function2 = 函数 () {
console.log("函数1");
}
为什么第二个函数要放在第一个函数里面?对此的任何帮助都将受到高度赞赏。但这种情况并不总是发生。
最佳答案
在 CoffeeScript 中,缩进是有意义的。您的问题中发布的代码可以根据您的需要进行翻译。但是如果第二个函数相对于第一个函数缩进:
$scope.function1 = () ->
console.log("function 1")
$scope.function2 = () ->
console.log("function 2")
...它按照您显示的方式翻译不正确。
请确保空格或制表符的使用保持一致。
但是,正如问题中所引用的那样,这很好:
$scope.function1 = () ->
console.log("function 1")
$scope.function2 = () ->
console.log("function 2")
变成了
$scope.function1 = function() {
return console.log("function 1");
};
$scope.function2 = function() {
return console.log("function 2");
};
关于javascript - Angular Coffeescript 到 Javascript 的转换 - 下一个函数被视为前一个函数的主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32197804/