当前位置: 首页 > 面试题库 >

离子/角度传单指令-放大/缩小按钮不起作用

乐正峰
2023-03-14
问题内容

我在传单地图上使用默认的放大/缩小按钮时遇到一些问题。当我直接加载页面时,一切工作正常,但是当我将一种状态更改为传单指令为按钮的状态时,则无法正常工作。这里你去例子

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正在“吃掉”不是由框架创建的所有单击事件。对于传单地图的容器,需要添加属性data-tap-disabled="true"

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


 类似资料:
  • 问题内容: 我正在尝试模仿动画和以下浮动操作按钮的颜色更改。 浮动操作按钮的工作方式是关闭白色,打开蓝色。 但是,我在动画和更改颜色方面一直不成功。 这些是我尝试执行此操作的尝试,您可以看到我已经注释掉了我尝试执行此操作的所有不同方式。 这是我的代码: Many thanks for any suggestions. 问题答案: 此动画有两个阶段。第一个缩放X和Y轴,第二个缩小它。因此,我们可以将

  • 问题内容: 我正在尝试使用Python和Selenium在LinkedIn上添加联系人。我试图通过在“网络”选项卡(https://www.linkedin.com/mynetwork)中添加LinkedIn提出的联系建议来实现此目的,该选项具有无限滚动功能。 基本上,我希望脚本找到每个建议的配置文件旁边的“连接”按钮,单击该按钮,然后重复执行直到出现错误为止,从而脚本应向下滚动以加载更多“连接”

  • 问题内容: 我有一个带有变量类型的指令myDirective。如果我运行,我希望指令使用templateUrl:x-template.html。如果我愿意,指令可以使用templateUrl:y-template.html。 这是我目前的指令。 我通过stackoverflow和angular文档阅读,但是没有找到我需要的任何东西。 我现在正在尝试按照以下方式进行操作: 但是不知道在哪里做。 你们

  • 我面临commandButton的问题,它只有在类型为submit时才起作用。有没有人可以看一下,让我知道是否有解决办法?下面的代码非常简单,并有足够的建议来说明我需要什么。方法test()未执行。方法runSubmit已成功执行。 我需要测试方法在没有提交的情况下执行,因为原始页面确实在提交期间执行了验证,test()方法必须在没有提交的情况下执行,因为这是提交之前的一个初步操作。 我正在使用P

  • 问题内容: 我正在尝试使用Angular的“装饰器”功能向某些指令添加功能。假设我的指令名称是myDirective。我的代码如下所示: ]); 我不断收到此消息: 尽我所能,指令在装饰器函数运行时已被注册。任何见识将不胜感激! 问题答案: 本文说明了实际上如何将带指令的decorator()使用。 您只需将“指令”作为名称的后缀即可。因此,在我的示例中,我应该一直在做 http://angula

  • 问题内容: 我想对第3方指令(特别是Angular UI Bootstrap)进行较小的修改。我只是想添加指令的范围: 但是我也想让Bower与Angular-Bootstrap保持同步。运行后,我将覆盖所做的更改。 那么,如何与该Bower组件分开扩展该指令? 问题答案: 解决此问题的最简单方法可能是在您的应用上创建与第三方指令同名的指令。这两个指令都将运行,并且您可以使用属性指定运行顺序(优先