首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否将CoffeeScript代码转换为LiveScript?

是否将CoffeeScript代码转换为LiveScript?
EN

Stack Overflow用户
提问于 2012-07-22 10:03:46
回答 1查看 1.4K关注 0票数 2

我有这个有效的CoffeeScript,并希望将其转换为LiveScript。有人能解释一下为什么它不能转换吗?还给出了一个转换的?

代码语言:javascript
复制
TodoCtrl = (scope) ->
  scope.addTodo = ->
    scope.todos.push
      text: scope.todoText
      done: false
    scope.todoText = ''

您可以使用它来编译CoffeeScript。

http://coffeescript.org/

您可以使用它来编译LiveScript。

http://gkz.github.com/LiveScript/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-22 10:34:03

您正在对以隐式对象开头的隐式块调用函数scope.todos.push。您必须在LiveScript中使用do,因为它不会处理这种特殊情况(只需将do看作是块周围的括号)。有关原因,请参阅https://github.com/gkz/LiveScript/issues/50

你想要的代码:

代码语言:javascript
复制
TodoCtrl = (scope) ->
  scope.addTodo = ->
    scope.todos.push do
      text: scope.todoText
      done: false
    scope.todoText = ''

这相当于(即do只是一个括号)

代码语言:javascript
复制
TodoCtrl = (scope) ->
  scope.addTodo = ->
    scope.todos.push(
      text: scope.todoText
      done: false
    )
    scope.todoText = ''

很高兴看到你使用LiveScript!

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11597271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档