Ember-cli で Ember-TodoMVC を再現しようとしています。私はこの部分にこだわっています。
次のようなビューを作成しました。
app/views/action-edit.coffee
ActionEditView = Ember.TextField.extend
didInsertElement: -> @$().focus()
`export default ActionEditView`
エンブレムテンプレートで直接使用すると、たとえばview "action-view"
、正常に機能します。テキストフィールドがレンダリングされます。
しかし、emberjs.com/guides では、ビューをレンダリングするヘルパーを作成することを提案しています。
ember-cli Webサイトで、「makeBoundHelperをエクスポートしてヘルパーを登録する必要があることを忘れないでください」という発言を見つけました。ES6モジュールがどのように機能するかを理解するのにしばらく苦労した後、JSエラーを生成しない次のコードになりました。
app/helpers/action-edit.coffee
`import ActionEditView from 'loltodo/views/action-edit'`
`export default Ember.Handlebars.makeBoundHelper(ActionEditView)`
Emblem テンプレートで次のように使用するとaction-edit
、Ember はブラウザ コンソールに次のように出力します。
[✓] helper:action-edit ......................................... loltodo /helpers/action-edit vendor/ember/ember.js:3521
だから私はヘルパーがうまく接続されていると思います。
問題は、空白にレンダリングされることです!
私もこれを試しました:
app/helpers/action-edit.coffee
`import ActionEditView from 'loltodo/views/action-edit'`
`export default Ember.Handlebars.helper('action-edit', ActionEditView)`
この行で「未定義は関数ではありません」というエラーが発生します。
問題は、ember-cli でビューをレンダリングして Ember-TodoMVC チュートリアルのこのステップを再現するヘルパーを作成するにはどうすればよいかということです。