使用打字稿的木偶模块

时间:2015-05-07 04:55:41

标签: backbone.js typescript marionette

如何使用类型脚本创建marionete模块。我看到了这个how to write marionettejs module using typescript?,但它对我的情况没用。我创建了像

这样的模块
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="ui-widget">
  <label for="tags">Tags: </label>
  <input id="tags">
      <div id="found"></div>
</div>

但它显示错误 第3561行http://localhost/Scripts/backbone.marionette.js

中第5列的未处理异常

0x800a138f - JavaScript运行时错误:无法获取属性&#39;初始化&#39;未定义或空引用

我做错了什么。我是Marionette和打字稿的新手。使用打字稿创建木偶模块的正确步骤是什么 我的应用程序代码是

class TestModule extends Marionette.Module {
    constructor(options) {
        if (!options)
            options = {};
        var marionetteApp = new MarionetteApp();
        marionetteApp.module("myModule", {
            startWithParent: false
        });
        super("myModule", marionetteApp);
    }
}

1 个答案:

答案 0 :(得分:2)

我使用以下代码解决了问题。在类中包装的模块。它按预期工作。如果我错了,请纠正我,并且任何人都知道正确的程序

class TestModule {
mod: any;
constructor() {
    var marionetteApp = new MarionetteApp();
    this.mod = marionetteApp.module("myModule", {
        startWithParent: false,
        initialize: function(){
            console.log("initialized");
        },
        define: function () {
            console.log("defined");
        }
    });

    this.mod.on("start", this.onStart);
}
start() {
    this.mod.start();
}
onStart() {
    console.log("Module started")
}

}

初始化代码

var MyModule = new TestModule();
    MyModule.start();