テンプレートのコントローラで状態を変更すると、現在のテンプレートURLにアクセスしようとしています。AngularJS - コントローラからTemplateUrlを取得するには?
ルート:templateURLは、私がいることになるだろうかsrc/pages/mydoc.html
を返した場合、同様に
pageViewer.controller(
'pageViewerController',
function($scope, $location, $state) {
// how to get current url of template?
}
);
を:コントローラで
lrdcom.config(
function($stateProvider, $urlRouterProvider, $locationProvider, stringUtilsProvider) {
$stateProvider
.state(
'docs',
{
templateUrl: function($stateParams) {
return 'src/pages/' + $stateParams.doc + '.html';
},
url: '/docs/:doc'
}
);
}
);
、私はtemplateURLが実際に返すものを知りたいですコントローラーからのURL?
コントローラーで$route
または$state
にアクセスすることを示唆する多くの回答を見ましたが、まだ取得できません。
あなたは私がそれを行うことができると正しいです。しかし、templateUrlの関数を設定したので、 '$ state.current.templateUrl'を取得すると文字列の代わりに関数が返されました。それを動作させるためには、 '$ state.current.templateUrl($ stateParams)'のように '$ stateParams'に返すだけでした。ありがとう。 –