如何防止Rails启用CoffeeScript并使用纯JavaScript?
通过查看RailwayJS/Express On Railway的文档,对我来说,它似乎是一个精心设计的NodeJS Web框架.它建立在ExpressJS之上,提供了漂亮的生成器和脚手架,并且内置了CoffeeScript支持.有没有人有这个框架的经验,并且会说它是Ruby On Rails,Django之类的真正替代品,因为Express是西纳特拉?
是否有一种语言可以编译为Java代码(不是字节代码而是Java ..所以没有Groovy,Scala,Jython,JRuby等)?
换句话说,有一个CoffeeScript for Java?
我对Java的一个主要缺点就是它非常冗长,并且它没有多重继承.似乎可以合理地通过代码生成来清理语法add mixins/traits和closures.
是的它不优雅,但coffeescript做到了.
我想在Coffeescript中实现以下Javascript代码
App.ItemView = Ember.View.extend({
classNameBindings: ['itemId'],
itemId: function() {
console.log(this.get('content'));
return "item-%@".fmt(this.get('content.id'));
}.property('content.id'),
templateName: 'item'
});
Run Code Online (Sandbox Code Playgroud)
以下是我目前在coffeescript中所拥有的内容:
App.ItemView = Ember.View.extend(
classNameBindings: ['itemId']
itemId: ->
console.log this.get('content')
contentId = this.get('content.id')
"item-#{contentId}");
.property('content.id')
templateName: 'item'
)
Run Code Online (Sandbox Code Playgroud)
我明白了:
Error: Parse error on line 11: Unexpected '.'
Run Code Online (Sandbox Code Playgroud)
问题似乎与点在.property('content.id')
.我不知道这是如何转化为Coffeescript的.如何在Coffeescript中正确实现此视图?
我是Coffeescript的新手,我遇到了解决问题的问题.我有一个当前存储在变量中的JSON对象.如何遍历JSON对象中的键以显示与其关联的键名和值?
if client
result = JSON.parse client
$.each result, (k, v) ->
alert k + " is " + v
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.
coffee> rext = require 'rx'
coffee> arr = [1..5]
[ 1, 2, 3, 4, 5 ]
coffee> obs = rext.Observable.fromArray(arr)
{ _subscribe: [Function] }
coffee> obs.subscribe( (x) -> console.log("added value: " + x))
added value: 1
added value: 2
added value: 3
added value: 4
added value: 5
{ isStopped: true,
observer:
{ isStopped: true,
_onNext: [Function],
_onError: [Function: defaultError],
_onCompleted: [Function: noop] },
m: { isDisposed: true, current: null } }
coffee> arr.push(12) # …Run Code Online (Sandbox Code Playgroud) javascript reactive-extensions-js coffeescript observable rxjs
自Meteor 0.6.0发布以及添加文件级JavaScript变量范围以来,我遇到了使用CoffeeScript类的问题,每个类都在各自的文件中定义.
foo.coffee:
class Foo
...
Run Code Online (Sandbox Code Playgroud)
subfoo.coffee:
class Subfoo extends Foo
...
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,并且由于Meteor 0.6.0中引入的更改,我收到以下错误:
ReferenceError:未定义Foo
这是我的问题:如何使用CoffeeScript和Meteor> 0.6.0处理文件中的类定义?理想情况:是否有一种方便的方法是不要过多地修改类的定义方式,以确保这些定义(以及我的应用程序的核心部分)不依赖于Meteor?
我正在尝试使用一个简单的switch语句,但它不能编译.这是代码:
tag = 0
switch tag
when 0 then
alert "0"
when 1 then
alert "1"
Run Code Online (Sandbox Code Playgroud)
coffeescript编译器抱怨switch语句后的行中出现"意外的".我将代码更改为:
switch tag
when 0 then alert "0"
when 1 then alert "1"
Run Code Online (Sandbox Code Playgroud)
它工作正常.
但是我需要在switch语句的那些部分中的多行上有多个语句.这不可能吗?
javascript compiler-construction switch-statement coffeescript
我有一个文本框,当我按Enter键时动态添加一个元素,另一个文本框在我单击删除按钮时删除该元素.delete方法适用于任何现有元素,但不适用于动态插入的任何元素.
这是代码:
$ ->
# AJAX to add a new stock
$("#add-symbol").keypress (e) ->
if e.which == 13
url = $(this).data('url')
name = $(this).val()
$.ajax
url: url
type: "POST"
data: {
user_id: $('#info').data('user-id'),
name: name
}
success: (response) ->
if response.status == 200
new_element = '<a class="item" data-path="' + response.path + '" data-stock="' + response.symbol + '">'+ response.symbol + '<i class="icon remove"></i></a>'
$('#symbols').append(new_element)
$('#add-symbol').val('')
else
#deal with errors
# AJAX to delete stocks
$('.icon.remove').on('click', (e) ->
console.log('click click')
$parent = …Run Code Online (Sandbox Code Playgroud) 我users在JS对象(不是数组)中有一个索引列表.它是React状态的一部分.
{
1: { id: 1, name: "John" }
2: { id: 2, name: "Jim" }
3: { id: 3, name: "James" }
}
Run Code Online (Sandbox Code Playgroud)
什么是最佳做法:
没有任何不可改变的帮助者.我正在使用Coffeescript和Underscore(所以_.extend没问题......).
谢谢.
coffeescript ×10
javascript ×5
ember.js ×1
hash ×1
java ×1
jquery ×1
json ×1
meteor ×1
node.js ×1
observable ×1
reactjs ×1
rxjs ×1