ui-router が状態をロードする前に、プロバイダーの初期化が完了するまで待機しようとしています。
状態に入るたびにカメラを有効にする必要があり、無効のままにしておくと再び無効になります。module.config
レベルで使用できるようにする必要があるため、これをプロバイダーに入れました。
.provider("Camera", function CameraProvider() {
function init() {
//async enableCamera
}
function exit() {
//disableCamera
}
function $get() {
return { init: init, exit: exit };
}
});
と状態:
var cam = DubCameraProvider.$get(); // this is a hack, but I don't know how to
$stateProvider
.state("CameraState", {
url: "/camera",
onEnter: cam.init,
onExit: cam.exit,
views: {
"view": {
// template: ...,
controller: "ControllerUsingCamera"
}
}
$q
使用してプロミスを作成し、使用resolve
してそれを待機しようとしましたが、module.config
レベルでは $q を注入できません (または方法がわからないだけですか?)。
どうすればこれを解決できますか?