SystemJsがモジュールを非同期にロードするため、イベントをHTMLファイルに直接バインドできません。 System.importの後にコントロールを宣言しても、すべての関数は現時点では未定義です。ESJモジュールがSystemJsによって非同期にロードされた場合の剣道MVCイベントバインディングの処理方法
たとえば次のように動作していない:
<script type="text/javascript">
System.import('myModule'); //myModule contains a function called onClick.
</script>
@(Html.Kendo().Button()
.Name("RazorButton")
.Content("RazorButton")
.HtmlAttributes(new { type = "button" })
.Events(ev => ev.Click("onClick")))
<button id="html5Button">Html5 Button</button>
<script type="text/javascript">
$("#html5Button").kendoButton({
click: onClick
});
</script>
この例でのonClickはオールウェイズ未定義です。
モジュールにボタンを初期化できるので、これは実際にhtml5の方法では問題になりません。 MVCラッパーを使用すると、ここでボタンを初期化するのが一般的です。
剣道MVCラッパーをSystemJsモジュールと組み合わせて使用する方法はありますか?欠点はありませんか?