なぜこのエラーが発生するのか、少し混乱しています。私はそれがtemplateURLにあると思っており、いくつか試してみましたが、役に立ちませんでした。私はドキュメントを読み、たくさんの SO 投稿を精査しましたが、どれもあまり役に立ちませんでした。Express/Node を使用してページを提供したいのですが、それが私の templateURL が app.js で機能しない理由だと感じています。
ここに、コントローラーとテンプレートを含む index.html があります。
<body ng-app="app" ng-controller="AppCtrl">
<script type="text/ng-template" id="pageContent.html">
<div class="container">
<div class="modal-header">
<h3 class="modal-title">I am a modal!</h3>
</div>
<div class="modal-body">
<h1>HELLO</h1>
</div>
<div class="modal-footer">
<button class="btn btn-primary" type="button" ng-click="cancel()">OK</button>
<button class="btn btn-warning" type="button" ng-click="cancel()">Cancel</button>
</div>
</div>
</script>
<div ng-click="open()"> <!-- this is what makes the modal -->
<!-- rest of html below -->
これはapp.jsにあるものです
var app = angular.module("app", ["ngAnimate", 'ui.bootstrap']);
app.controller("AppCtrl", function($scope, $timeout, $uibModal, $http) {
$scope.open = function (person) {
$scope.selectedPerson = "passed in person";
console.log($scope.selectedPerson);
var modalInstance = $uibModal.open({
templateUrl: 'pageContent.html',
controller: 'ModalInstanceCtrl',
resolve: {
selectedPerson: function() {
return $scope.selectedPerson;
}
}
});
};
});
app.controller('ModalInstanceCtrl', function ($scope, $uibModalInstance, selectedPerson) {
$scope.selectedPerson = selectedPerson;
$scope.cancel = function () {
$uibModalInstance.dismiss('cancel');
};
});
私も templateURL を置き換えようとしましtemplate: "<p> hello world </p>"
たが、同じエラーが発生します。