ionic popover, TypeError: Невозможно прочитать свойство 'show'
У меня есть кнопка навигации, которая должна показывать поповер
<ion-nav-buttons side="secondary">
<button class="button button-icon icon ion-more" ng-click="openPopover($event)"></button>
</ion-nav-buttons>
и это контроллер
.controller('MyController', ['$scope','$ionicPopover', function($scope, $ionicPopover) {
$ionicPopover.fromTemplateUrl('popover.html', {
scope: $scope
}).then(function(popover) {
$scope.popover = popover;
});
$scope.openPopover = function($event) {
$scope.popover.show($event);
};
$scope.closePopover = function() {
$scope.popover.hide();
};
$scope.$on('$destroy', function () {
$scope.popover.remove();
});
}])
но когда я нажимаю на кнопку навигации, я сталкиваюсь с TypeError: Cannot read property 'show' of undefined at Scope.$scope.openPopover
вот шаблон, который у меня есть в той же папке проекта
<ion-popover-view>
<ion-content>
<div class="list">
<label class="item item-input" ng-click="addFavorite(dish.id)">
<div class="input-label">
Add To Favorites
</div>
</label>
<label class="item item-input" ng-click="openModal()">
<div class="input-label">
Add A Comment
</div>
</label>
</div>
</ion-content>
</ion-popover-view>
2 ответа
Возиться с ожидаемым поведением.
<div ng-click="openPopover($event)">
Click to open popover
</div>
<script id="popover.html" type="text/ng-template">
<ion-popover-view>
<ion-header-bar>
<h1 class="title">My Popover Title</h1>
</ion-header-bar>
<ion-content>
Hello!
</ion-content>
</ion-popover-view>
</script>
Единственная ситуация, о которой я могу подумать, это то, что у вас нет шаблона с идентификатором "popover.html".
Скорее всего, проблема здесь в том, что файл popover.html сохраняется где-то в подпапке, такой как 'templates' или аналогичной, и контроллер, ссылающийся на файл html, не имеет полного пути, соответственно, скрипт просто не находит файл popover.html.,