javascript - Angular Coffeescript 到 Javascript 的转换 - 下一个函数被视为前一个函数的主体

标签 javascript angularjs coffeescript

我在使用 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/

相关文章:

用于循环重构的 coffeescript

javascript - 脊柱 JS 模型 : How does Spine handle a server response containing records for a related model?

javascript - 如何将参数传递给 Rails 中的 js.erb?

c# - breezejs 和 EF6 中基于角色的安全性

css - AngularJS 自定义标签的高度为 auto

javascript - AngularJS:无法将 localStorage 项保存到作用域变量中

javascript - 点击事件上的 Coffeescript 未触发?

javascript - 我应该将所有 JavaScript 源代码复制到一个文件中吗?

javascript - 如何将 Highcharts 图例与所有独特条目合并

javascript - 如果不使用解构赋值则要求不工作