で Bootstrap Modal を使用するhtml5Mode(true)
。
最初のクリックでクリックすると、モーダルlaunch demo modal
への URL の変更は表示され/#myModal
ません。
もう一度クリックするとlaunch demo modal
、モーダルが表示されます。
通常モード ($locationProvider.html5Mode(false);
モーダルは最初のクリックで表示されます。
最初のクリックでモーダルを表示するにはどうすればよいですか?
標準モーダルコード:-
<!-- Button trigger modal -->
<a data-toggle="modal" href="#myModal" class="btn btn-primary btn-lg">Launch demo modal</a>
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-body">
...
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
角度コード:-
var myApp = angular.module('myApp', []);
myApp.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider.
when('/', {
templateUrl: 'partials/home',
controller: 'homePage'
}).
otherwise({redirectTo: '/login'});
$locationProvider.html5Mode(true);
}]);
検査すると、最初のクリックでページが更新されますlaunch demo modal
が、サーバーを介して更新は行われません。Angular はそれを管理します。同様に、2 回目のクリックでも、angular が REST リクエストを管理し、モーダルを表示します。
PS:- 問題を実証したかったのですが、plunkrは html5Modeでは動作しません。
そして、私が知る限り、追加のhtmlページをjsfiddleに追加できませんでした。$locationProvider.html5Mode(true);
また、モードをサポートしているかどうかもわかりません。
エラーを示すにはどこに行けばよいですか?