Модернизированный интерфейс UI с причиной компонента "Требуется одна из опций template или templateUrl". ошибка
У меня есть отдельный компонент JS
uploadImage.js
'use strict'
imageListApp.controller('uploadImageController', function ($scope, Upload) {
var $ctrl = this;
$ctrl.$onInit = function () {
}
$ctrl.ok = function (file) {
$scope.f = file;
if (file) {
file.upload = Upload.upload({
url: '/api/images/upload',
data: { title: $scope.picTitle, files: file }
});
file.upload.then(function (response) {
$ctrl.close({ $value: response.data })
}, function (response) {
if (response.status > 0)
$scope.errorMsg = response.status + ': ' + response.data;
}, function (evt) {
file.progress = Math.min(100, parseInt(100.0 *
evt.loaded / evt.total));
});
}
}
$ctrl.cancel = function () {
$ctrl.dismiss({ $value: 'cancel' });
}
})
imageListApp.component('uploadImage', {
templateUrl: 'js/components/uploadImage/uploadImage.html',
bindings: {
resolve: '<',
close: '&',
dismiss: '&'
},
controller: 'uploadImageController'
})
А в другом контроллере js я использую $uib.open, чтобы открыть модал с этим компонентом
$scope.openUploadModal = function () {
var uploadModalInstance = $uibModal.open({
component:'uploadImage',
resolve: {
title: function () {
return $scope.title;
}
}
});
uploadModalInstance.result.then(function () {
console.log("upload success");
},
function () {
console.log("upload cancel");
})
}
Я гарантирую, что все JavaScript правильно включены в index.html
Когда я вызываю открытую модальную функцию, я получаю ошибки:
angular.js:14525 Error: One of template or templateUrl options is required.
at Object.$modal.open (ui-bootstrap-tpls.js:3742)
at Scope.$scope.openUploadModal (imageListController.js:58)
at fn (eval at compile (angular.js:15358), <anonymous>:4:165)
at callback (angular.js:26994)
at Scope.$eval (angular.js:18161)
at Scope.$apply (angular.js:18261)
at HTMLInputElement.<anonymous> (angular.js:26999)
at HTMLInputElement.dispatch (jquery.js:5206)
at HTMLInputElement.elemData.handle (jquery.js:5014)
Что означает ошибка и какая проблема вызвать эту ошибку?
2 ответа
template (Тип: строка) - встроенный шаблон, представляющий содержимое модального типа.
templateUrl (Type: string) - Путь к шаблону, представляющий содержимое модального типа. Вам нужен либо шаблон, либо templateUrl.
Добавьте шаблон для ваших модальных опций (или templateUrl)