AngularJS, IONIC [$ compile: ctreq]

I have an AngularJS app where I am using the ion-side menu directive and ion sides from Ionic, v1.0.0-beta.12

HTML DOM
<ion-side-menus>
        <ion-side-menu side="left" ng-class="{ 'open': isLeftDesktopSidebarOpen() }">
            <ion-content has-header="false">
                <div eb-left-menu></div>
            </ion-content>
        </ion-side-menu>


        <!-- -->

        <ion-side-menu side="right" ng-class="{'open': isRightDesktopSidebarOpen()}">
            <ion-content has-header="false">
                <div eb-right-menu></div>
            </ion-content>
        </ion-side-menu>
</ion-side-menus>


JS Script
<div class="eb-ion-side-menus-container">
    <ion-side-menus class="eb-ion-side-menus">
        <!-- Center content -->
    <ion-side-menus>
        <ion-side-menu-content edge-drag-threshold="true">
            <div class="bar bar-subheader bar-mainsubheader" eb-center-div ng-show="loggedIn">
                <button class="button button-icon button-clear ion-navicon pull-left" ng-click="openLeftSidebar();"></button>
                <span class="hidden-large-inline">
                    <button style="line-height: 33px;font-size: 17px;margin-top: -5px !important;width: 154px;background-size: 30px !important;height: 40px;" class="button button-icon button-clear eb-ico logo_small" ng-click="gotoMain()"></button>
                </span>
                <button class="button button-icon button-clear ion-grid pull-right" ng-click="openRightSidebar();"></button>
            </div>

            <ion-content class="eb-main-content">
                <div ui-view id="main" autoscroll="false" class="animate-on am-fade-and-scale"></div>
            </ion-content>
        </ion-side-menu-content>
    </ion-side-menus>

        <!-- Left menu -->
    <ion-side-menus>  
        <ion-side-menu side="left" ng-class="{ 'open': isLeftMenuOpen() }">
            <div class="bar bar-on-menu bar-subheader bar-mainsubheader" ng-click="toggleLeftSidebar();" ng-show="loggedIn">
                <h1 class="title">
                    <span ng-click="closeLeftSidebar();" style="cursor:pointer; width: 190px;display: inline-block;">Menu</span>
                    <button style="position: absolute;top: 5px;right: 5px;" class="button button-icon button-clear ion-navicon" ng-click="closeLeftSidebar();"></button>
                </h1>
            </div>
            <ion-content has-header="false">
                <div eb-left-menu></div>
            </ion-content>
        </ion-side-menu>
    </ion-side-menus>

<!-- -->
        <ion-side-menus>
            <ion-side-menu side="right" ng-class="{'open': isRightMenuOpen() }">
                <div class="bar bar-on-menu bar-subheader bar-mainsubheader" ng-click="toggleRightSidebar();" ng-show="loggedIn">
                    <h1 class="title">
                        <span ng-click="closeRightSidebar();" style="cursor:pointer; width: 190px;display: inline-block;">Moje aplikacje</span>
                        <button style="position: absolute;top: 5px;left: 5px;" class="button button-icon button-clear ion-grid" ng-click="closeRightSidebar();"></button>
                    </h1>
                </div>
                <ion-content has-header="false">
                    <div eb-right-menu></div>
                </ion-content>
            </ion-side-menu>
        </ion-side-menus>
</div>

      

Its purpose is to toggle the sidebar after clicking. And it works, however it gives me an error inError: [$compile:ctreq] http://errors.angularjs.org/1.3.0-beta.18/$compile/ctreq?p0=ionSideMenus&p1=ionSideMenu

The error description says

The "ionSideMenus" controller required by the "ionSideMenu" directive could not be found!

However, it does exist in my vendor file (where I store all the frameworks and libraries)

I would really appreciate some help: D

UPDATED 25.05

I think it is also worth mentioning that the above problem occurs if I display my page on the desktop. Otherwise when emulated via Google Chrome on Android or Ios, it works fine.

+3


source to share


1 answer


I think you need to wrap the ion-side menus inside the ion-side menus

so that your code looks like this.

<ion-side-menus><ion-side-menu side="left" ng-class="{ 'open': isLeftMenuOpen() }">
        <div class="bar bar-on-menu bar-subheader bar-mainsubheader" ng-click="toggleLeftSidebar();" ng-show="loggedIn">
            <h1 class="title">
                <span ng-click="closeLeftSidebar();" style="cursor:pointer; width: 190px;display: inline-block;">Menu</span>
                <button style="position: absolute;top: 5px;right: 5px;" class="button button-icon button-clear ion-navicon" ng-click="closeLeftSidebar();"></button>
            </h1>
        </div>
        <ion-content has-header="false">
            <div eb-left-menu></div>
        </ion-content>

    </ion-side-menu></ion-side-menus>

      



Details can be found here

Click here to check it

+2


source







All Articles