Open mtakeuchi opened 7 years ago
Viewが持つメソッドでは、throwErrorIfNoRootElement()でコントローラまたはルート要素が存在しない場合例外を投げるようになっていますが、get(), load(), register(), isValid(), isAvailable(), clear(), getAvailableTemplates()はルート要素に依存しないので、これらのメソッドはルート要素が存在しなくても実行できる(ルートエレメントの存在チェックをしない)ようにしてほしいです。
現在の仕様だと、以下のように親コントローラのinitのタイミングで、子コントローラのテンプレートの読み込みを行いたい場合にエラーになってしまいます。
var childController = { __name: 'ChildController', loadTemplate: function(url) { return this.view.load(url); } }; h5.core.controller('body', { childController: childController, __name: 'ParentController', __init: function() { // Uncaught Error: ルートエレメントの設定されていないコントローラのメソッドview#loadは実行できません。 return this.childController.loadTemplate('hoge.ejs'); } });
Viewが持つメソッドでは、throwErrorIfNoRootElement()でコントローラまたはルート要素が存在しない場合例外を投げるようになっていますが、get(), load(), register(), isValid(), isAvailable(), clear(), getAvailableTemplates()はルート要素に依存しないので、これらのメソッドはルート要素が存在しなくても実行できる(ルートエレメントの存在チェックをしない)ようにしてほしいです。
現在の仕様だと、以下のように親コントローラのinitのタイミングで、子コントローラのテンプレートの読み込みを行いたい場合にエラーになってしまいます。