我有一点Coffeescript
d3Graph: =>
refreshData: ->
console.log "refresh data called"
someButton.click ->
refreshData()
当我点击" someButton"我收到错误
Uncaught ReferenceError: refreshData is not defined
有人看到我的错误吗?
答案 0 :(得分:3)
尝试在此使用refreshData =
代替refreshData:
。
d3Graph: =>
refreshData = ->
console.log "refresh data called"
someButton.click ->
refreshData()
如果这不起作用,则必须提供更完整的代码。
如果遇到这样的问题,看看输出JavaScript是什么总是有帮助的。
例如,在这种情况下,您的原始代码输出:
var _this = this;
({
d3Graph: function() {
({
refreshData: function() {
return console.log("refresh data called");
}
});
return someButton.click(function() {
return refreshData();
});
}
});
所以很明显,没有名为refreshData
的变量/函数!
答案 1 :(得分:0)
Jamie Wong正确地解释了这一点。我只是想知道你是否试图将d3Graph用作一个类:
class d3Graph
@refreshData: ->
console.log "refresh data called"
someButton.click ->
d3Graph.refreshData()
或图表是实例时:
class d3Graph
refreshData: ->
console.log "refresh data called"
graph = new d3Graph()
someButton.click ->
graph.refreshData()
希望这有帮助。