$ ionicPopover.fromTemplateUrl在更改为新目录路径时不起作用

时间:2017-08-16 14:52:50

标签: html angularjs ionic-framework

我为我的app做了一个带离子1的弹出功能。它工作正常。但是, 如果我从原始目录移动到新目录路径,我的代码将无效。

popover.html page.html内包含。它是page.html

代码的一部分

如何更改代码中的正确目录?我试试

$ionicPopover.fromTemplateUrl('/all/page/popover.html', {
              scope: $scope
           }).then(function(popover) {
              $scope.popover = popover;
           });

但它不起作用

原始目录路径

/www/js/controllers/page.js

/www/templates/page.html

新目录路径

/www/all/page/page.js

/www/all/page/page.html

page.js(当前工作代码)

 $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();
           };

           //Cleanup the popover when we're done with it!
           $scope.$on('$destroy', function() {
              $scope.popover.remove();
           });

           // Execute action on hide popover
           $scope.$on('popover.hidden', function() {
              // Execute action
           });

           // Execute action on remove popover
           $scope.$on('popover.removed', function() {
              // Execute action
           });

page.html(当前工作代码)

   <button class="button" ng-click="openPopover($event)"><i class="ion-android-more-vertical"></i></button>

  <script id = "popover.html" type = "text/ng-template">
    <ion-popover-view>
      <ion-content>
        <div class="list" ng-click="popover.hide()">
          <a class="item" href="#/app/morepage">
            Apple
          </a>
          <a class="item" href="#/app/morepage1">
            Orange
          </a>
        </div>
      </ion-content>
    </ion-popover-view>
  </script>

在app.js

    .state('app.page', {
    url: '/page',
    views: {
        'menuContent': {
            templateUrl: '/all/page/page.html',
            controller: 'page'
        }
    }
})

1 个答案:

答案 0 :(得分:0)

如果您想要更改 fromTemplateUrl

,请尝试使用此示例
$ionicPopover.fromTemplateUrl('/all/page/page.html', {
          scope: $scope
       }).then(function(popover) {
          $scope.popover = popover;
       });

<script>的page.html中更改此

<script id = "/all/page/popover.html" type = "text/ng-template">
<ion-popover-view>
  <ion-content>
    <div class="list" ng-click="popover.hide()">
      <a class="item" href="#/app/morepage">
        Apple
      </a>
      <a class="item" href="#/app/morepage1">
        Orange
      </a>
    </div>
  </ion-content>
</ion-popover-view>

$ionicPopover.fromTemplateUrl('popover.html')的工作原因,因为在page.html中它的相对名称是相同的。

如果更改上述内容,则需要更改html。它代表相对路径。如果物理上存在文件,我真的需要在你指明的路径中。