我有一个导航按钮,它应该显示弹出窗口
<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>
调整预期行为
<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>
我能想到的唯一情况是你没有定义id为"popover.html"的模板
最可能的问题是,这里的popover.html文件保存在子文件夹的某个地方,如'模板'或类似的控制器引用的html文件没有一个完整的限定路径分别脚本只是找不到文件popover.html