http://angular-ui.github.io/bootstrapにあるモーダルの例を試しています。アクションのボタンをクリックすると、ウィンドウがポップアップしたかのように画面がぼやけますが、そこには何も表示されず、モーダルを開くとコンソールに次のように表示されます
リソースの読み込みに失敗しました: サーバーはステータス 404 (Not Found) で応答しました --- 取得できません /function%20(a,b)%7Breturn%20b.templateUrl%7C%7C%22template/modal/window.html%22 %7D Uncaught TypeError: undefined は関数ではありません --- angular.min.js
私のコントローラー
'use strict'
var LoginCtrl = ['$scope', '$modal', '$log', function($scope, $modal, $log) {
$scope.items = ['item1', 'item2', 'item3'];
$scope.open = function (size) {
var modalInstance = $modal.open({
templateUrl: 'myModalContent.html',
controller: 'ModalInstanceCtrl',
size: size,
resolve: {
items: function () {
return $scope.items;
}
}
});
modalInstance.result.then(function (selectedItem) {
$scope.selected = selectedItem;
}, function () {
$log.info('Modal dismissed at: ' + new Date());
});
};
}];
var ModalInstanceCtrl = ['$scope', '$modalInstance', 'items', function($scope, $modalInstance, items){
$scope.items = items;
$scope.selected = {
item: $scope.items[0]
};
$scope.ok = function () {
$modalInstance.close($scope.selected.item);
};
$scope.cancel = function () {
$modalInstance.dismiss('cancel');
};
}];
私のテンプレート
<div>
<script type="text/ng-template" id="myModalContent.html">
<div>
<h3 class="modal-title">I m a modal</h3>
</div>
<div>
<ul>
<li ng-repeat="item in items">
<a ng-click="selected.item = item">{{ item }}</a>
</li>
</ul>
Selected: <b>{{ selected.item }}</b>
</div>
<div>
<button ng-click="ok()">OK</button>
<button ng-click="cancel()">Cancel</button>
</div>
</script>
<button ng-click="open()">Open me!</button>
<button ng-click="open('lg')">Large modal</button>
<button ng-click="open('sm')">Small modal</button>
<div ng-show="selected">Selection from a modal: {{ selected }}</div>
</div>
この奇妙なエラーが表示される理由。バージョン 0.11.2 の ui-bootstrap-tpls.min.js とバージョン 1.3.1 の angular.min.js を読み込んでいます。ここで同じ種類の問題を参照しましたが、そのうちの1人が言ったように、更新されたバージョンもあります。どんな提案でも大いに役立ちます。