加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – ng-click不在离子侧菜单中的离子项上工作

发布时间:2020-12-17 17:34:54 所属栏目:安全 来源:网络整理
导读:我有一个幻灯片进/出面板.除了Logout之外,一切都很好.请查看侧面板视图. ion-side-menus enable-menu-with-back-views="false"ion-side-menu-content ion-nav-bar class="bar-stable" !-- -- ion-nav-back-button /ion-nav-back-button ion-nav-buttons side
我有一个幻灯片进/出面板.除了Logout之外,一切都很好.请查看侧面板视图.

<ion-side-menus enable-menu-with-back-views="false">
<ion-side-menu-content>
    <ion-nav-bar class="bar-stable">
    <!-- -->
      <ion-nav-back-button>
      </ion-nav-back-button>
      <ion-nav-buttons side="left">
        <button class="button button-icon button-clear ion-navicon" menu-toggle="left">
        </button>
      </ion-nav-buttons>
    <!-- -->
    </ion-nav-bar>
    <ion-nav-view name="menuContent"></ion-nav-view>
  </ion-side-menu-content>

  <ion-side-menu side="left">
    <ion-header-bar class="bar-stable">
      <h1 class="title">Angular Social</h1>
    </ion-header-bar>
    <ion-content>
      <ion-list>
        <ion-item menu-close href="#/app/dashboard">
            <i class="icon ion-home"></i>
          Dashboard
        </ion-item>
        <ion-item menu-close href="#/app/friends">
            <i class="icon ion-person-stalker"></i>
          Friends
        </ion-item>
        <ion-item menu-close href="#/app/settings">
            <i class="icon ion-gear-a"></i>
          Settings
        </ion-item>
        <ion-item menu-close href="#/app/search">
            <i class="icon ion-search"></i>
          Search
        </ion-item>
        <ion-item menu-close ng-click="ac.logout()">
            <i class="icon ion-log-out"></i>
          Logout
        </ion-item>
      </ion-list>
    </ion-content>
  </ion-side-menu>
</ion-side-menus>

以下是我的控制器代码

(function () {
    'use strict';

    angular.module('starter').controller('DashboardController',DashboardController);
    DashboardController.$inject = ['UserService','$scope','$state','CommonService','$ionicLoading'];

    function DashboardController(UserService,$scope,$state,CommonService,$ionicLoading)
    {
        var ac = this;
        ac.logout   = logout;

        initController();

        function logout()
        {
            console.log('reachedhere');
            CommonService.logout()
        }

        function initController()
        {
            var loggedInStatus = localStorage.getItem('userLoggedIn');
            if (loggedInStatus === 'false') {
                $state.go('signin');
            }
            loadCurrentUser();
            loadnotifications();
        }

        function loadCurrentUser()
        {
            var name = { 'username' : localStorage.getItem('username') };
            UserService.GetByUsername(name).then(function (response) {
                $scope.userData = response;
            });
        }

        function loadnotifications()
        {
            $ionicLoading.show({
                template: 'loading'
            });
            var name = { 'username' : localStorage.getItem('username') };
            UserService.GetByUsername(name).then(function (data) {
                var id = data.id;
                console.log(data.id);
                UserService.GetFriedRequests(id).then(function (response) {
                    $scope.requests = response;
                });
            });
            $ionicLoading.hide();
        }
    }

})();

当我点击Logout时,侧面板关闭,控制器没有任何反应.

解决方法

查看代码,现在不可能在离子项上使用ng-click,因为Ionic基本上创建了一个新的锚点< a>.标记并仅保留href&目标属性.

所以基本上,你的ng-click被忽略了.看看这里的代码:https://github.com/driftyco/ionic/blob/v1.2.4/js/angular/directive/item.js#L44

你基本上必须创建自己的另一个指令来处理这样的点击:

angular.module('starter').directive('logOut',function() {
    return {
        link: function($scope,element) {
            element.on('click',function() {
                ac.logout()
            });
        }
    }
});

然后在视图中使用它:

<ion-item menu-close log-out>
      <i class="icon ion-log-out"></i>
      Logout
</ion-item>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读