创建脊椎控制器

时间:2011-10-11 07:48:01

标签: asp.net-mvc coffeescript spine.js

我使用spinejs,coffeescript和asp.net mvc。 下面是脊柱控制器类的代码:

class Schedules extends Spine.Controller
    constructor: -> super alert "Created"

    events:
        "click": "click"

    click: ->
        alert("Was clicked")

在asp.net mvc视图中,我包含了所有js以及以下代码到init控制器:

$(document).ready(function () {
     var sched = new Schedules({
         el: $("#myId")
     });  
});

但我看到以下错误:未捕获的ReferenceError:未定义计划。

更新: 现在我没有做任何事情,也没有提供任何错误。我无法看到我的警报信息。 但它应该在控制器创建后显示警告消息。 在控制器文件中:

window.SchedulesApp = {}
class SchedulesApp.Schedules extends Spine.Controller
//futher controller code

在asp.net mvc View中我有以下内容:

<script type="text/javascript">
            $(document).ready(function () {
                var controller = new SchedulesApp.Schedules({});

1 个答案:

答案 0 :(得分:2)

您应该考虑使用名称空间:

window.SchedulesApp = {}

class SchedulesApp.Schedules extends Spine.Controller
    constructor: ->
        super
        alert "Created"

    events:
        "click": "click"

    click: ->
        alert("Was clicked")

修改

所以,你有另一个问题,那就是你如何调用super,这会导致之后的所有内容被包装到super的参数中。

我已使用CS output with jsFiddle修复了此问题,并在此答案中编辑了CS。

希望这有帮助!