gpt4 book ai didi

javascript - ionic /Angular 传单指令 - 放大/缩小按钮不起作用

转载 作者:数据小太阳 更新时间:2023-10-29 04:03:04 24 4
gpt4 key购买 nike

传单 map 上的默认放大/缩小按钮有一些问题。当我直接加载页面时一切正常,但是当我将一个状态更改为声明传单指令是按钮的状态时,它就不起作用了。举个例子

http://codepen.io/anon/pen/JkyEg?editors=101

代码:

HTML

<html ng-app="app">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"/>
<link href="http://code.ionicframework.com/1.0.0-beta.11/css/ionic.min.css" rel="stylesheet"/>
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css" />
<title>Leaflet example</title>
</head>
<body>
<ion-nav-view></ion-nav-view>

<script type="text/ng-template" id="locations.html">
<ion-view title="Locations">
<ion-content>
<ion-list can-swipe="true">
<ion-item ng-click="locationOnClick(location)" class="item item-icon-left" ng-repeat="location in locations">
<i class="icon ion-location"></i>
<h2>{{location.name}}</h2>
</ion-item>
</ion-list>
</ion-content>
</ion-view>
</script>
<script type="text/ng-template" id="location.html">
<ion-view title="{{location.name}}">
<ion-nav-bar class="bar-positive" animation="nav-title-slide-ios7">
<a ui-sref="locations" class="button icon-left ion-chevron-left button-clear ">Locations</a>
</ion-nav-bar>
<ion-content>
<leaflet height="480px"></leaflet>
</ion-content>
</ion-view>
</script>
<script src="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.js"></script>
<script src="http://code.ionicframework.com/1.0.0-beta.11/js/ionic.bundle.min.js"></script>
<script src="http://tombatossals.github.io/angular-leaflet-directive/dist/angular-leaflet-directive.min.js"></script>
</body>
</html>

JS

angular.module('app', [
'ionic',
'leaflet-directive'
])
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('locations', {
url: "/locations",
templateUrl:"locations.html",
controller: 'LocationsCtrl'
})
.state('location', {
url: "/location/:locationId",
templateUrl: "location.html",
controller: 'LocationCtrl'
});


// if none of the above states are matched, use this as the fallback
$urlRouterProvider.otherwise('/locations');

})
.factory('locationService', function(){
var _locations = [{
id: 1,
name: 'Sample location',
lat: 50,
lng: 50
}];
return {
getAll: function(){
return _locations;
},
getById: function(id){
return _locations.filter(function(loc){ return loc.id === id; })[0];
}
}
})
.controller('LocationsCtrl', function($scope, $location, locationService){
$scope.locations = locationService.getAll();

$scope.locationOnClick = function(location){
$location.path('/location/'+location.id);
};
})
.controller('LocationCtrl', function($scope, $stateParams, locationService){
$scope.location = locationService.getById($stateParams.locationId);
})

最佳答案

解决方案很简单。 Ionic 正在“吃掉”所有不是由框架创建的点击事件。对于传单 map 的容器,需要添加属性 data-tap-disabled="true"

<ion-content data-tap-disabled="true">
<leaflet height="480px"></leaflet>
</ion-content>

关于javascript - ionic /Angular 传单指令 - 放大/缩小按钮不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25675208/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com