私は現在AngularJSと連絡を取ろうとしています。私はかなり複雑な Web アプリケーションを構築することを計画しているので、いくつかのナビゲーション レベルを持つ複雑なアプリケーションには非常に不満があるため、ng ドキュメントにある ngView/$routeProvider の組み合わせに代わるものを探しました。ngRoute
そこで私が試したのは、次のように使用できるというカスタム ディレクティブを作成することです。
<div ng-route="users">
<div ng-route=":id"></div>
<div ng-route></div><!-- default -->
</div>
私が現在持っているのは、次のディレクティブ定義です。
angular.module('app').directive('ngRoute', function($routeProvider) {
var getRoute = function($el) {
var parts = [];
var $curEl = $el;
while($curEl.length > 0) {
parts.unshift($curEl.attr('ng-route'));
$curEl = $curEl.parent().closest('*[ng-route]');
}
return parts.join('/');
}
var directiveDef = {
link: function(scope, $el, iAttrs, controller) {
var route = getRoute($el);
// Register route observer dependant on calculated route...
}
};
return directiveDef;
});
残念ながら、$routeProvider
ルート観測の登録に必要なの DI が原因でエラーが発生します。
Error: Unknown provider: appProvider <- app <- ngRouteDirective
ここで何か見逃しましたか?また、私のアプローチを自由に批判してください (誰かが私の問題に対するより良い解決策を既に見つけているかもしれません)。