Я пытаюсь создать мобильное приложение, где открывается диалоговое окно после нажатия на изображение.
Вот что я сделал до сих пор:
HTML:
<ion-content ng-controller="cityController">
<div class="container" id="popupContainer">
<div class="row">
<div class="col col-33">
<img src="img/images/opera.jpg" ng-click="showTabDialog($event)"/>
<div class="description" style="font-size: 8pt">Opera de Lyon</div>
</div>
JS:
angular.module('starter.cityController', ['ionic', 'ngDialog'])
.controller('cityController', function ($scope, $mdDialog, $mdMedia){
$scope.status = ' ';
$scope.customFullscreen = $mdMedia('xs') || $mdMedia('sm');
$scope.showTabDialog = function(ev) {
$mdDialog.show({
controller: DialogController,
templateUrl: 'tabDialog.tmpl.html',
parent: angular.element(document.body),
targetEvent: ev,
clickOutsideToClose:true
})
.then(function(answer) {
$scope.status = 'You said the information was "' + answer + '".';
}, function() {
$scope.status = 'You cancelled the dialog.';
});
};
});
function DialogController($scope, $mdDialog) {
$scope.hide = function() {
$mdDialog.hide();
};
$scope.cancel = function() {
$mdDialog.cancel();
};
$scope.answer = function(answer) {
$mdDialog.hide(answer);
};
}
Но я получаю сообщение об ошибке:
Error: [$injector:unpr] Unknown provider: $mdDialogProvider <- $mdDialog <- cityController
Шаблон есть. Я знаю, что эта проблема является проблемой некоторой зависимости, но я не могу узнать, какой из них.
Кто-нибудь может помочь?
Определение контроллера должно быть похоже на
.controller('cityController', ['$scope','$mdDialog','$mdMedia',function ($scope, $mdDialog, $mdMedia){
// your code will be here
}])
И, пожалуйста, ngMaterial
к вашему угловому модулю, например
angular.module('starter.cityController', ['ngMaterial'])
Если вы не можете включить ngMaterial, используя bower install, добавьте вручную в index.html как
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/angular_material/1.1.0-rc2/angular-material.min.css">
<script src="http://ajax.googleapis.com/ajax/libs/angular_material/1.1.0-rc2/angular-material.min.js"></script>