Tabs error using nightly build


#1

Was doing some testing today and noticed an odd error involving the tabs. First any icons I had fail to load, I can’t switch between tabs, and this error came up in my console.

 Error: [$compile:ctreq] Controller 'ionTabs', required by directive 'ngClick', can't be found!
http://errors.angularjs.org/1.2.12/$compile/ctreq?p0=ionTabs&p1=ngClick
    at http://code.ionicframework.com/nightly/js/ionic.bundle.js:7061:12
    at getControllers (http://code.ionicframework.com/nightly/js/ionic.bundle.js:13043:19)
    at http://code.ionicframework.com/nightly/js/ionic.bundle.js:13051:24
    at Array.forEach (native)
    at forEach (http://code.ionicframework.com/nightly/js/ionic.bundle.js:7286:11)
    at getControllers (http://code.ionicframework.com/nightly/js/ionic.bundle.js:13050:11)
    at nodeLinkFn (http://code.ionicframework.com/nightly/js/ionic.bundle.js:13214:35)
    at compositeLinkFn (http://code.ionicframework.com/nightly/js/ionic.bundle.js:12623:15)
    at publicLinkFn (http://code.ionicframework.com/nightly/js/ionic.bundle.js:12528:30)
    at link (http://code.ionicframework.com/nightly/js/ionic.bundle.js:34278:61) <div ng-class="{active: isTabActive(), 'has-badge':badge}" ng-click="selectTab()" class="tab-item disable-user-behavior" title="{{page.id}}" icon="{{page.icon}}" icon-on="{{page.icon}}" icon-off="{{page.icon}}"> 

Any one noticing this?


#2

Hi @mhartington, I just committed something. Could you post your markup?


#3

Hey @andytjoslin, This is my markup for the tabs. I’m just repeating over a collection of data and creating a tab for each object in my data. Just to add, I am pulling the JS right from the CDN.

<ion-view title="pet.title" left-buttons="leftButtons" right-buttons="rightButtons">

	<ion-tabs tabs-type="tabs-icon-top" tabs-style="tabs-light">

		<ion-tab title="{{page.id}}" icon="{{page.icon}}" ng-repeat="page in pet.pages | orderBy:orderProp">

			<ion-slide-box ng-if="page.type === 'slide'">

				<ion-slide ng-repeat="slide in page.slides">

					<div class="wrapper has-tabs has-header">

						<div class="product">

							<img class="child" ng-src="/{{pet.title}}/{{slide.img}}.png">

						</div>

						<ion-content class="info" has-bouncing="true" padding="true">

							<p>{{slide.content}}</p>

						</ion-content>

					</div>

				</ion-slide>

			</ion-slide-box>
    
		</ion-tab>

	</ion-tabs>

</ion-view>

#4

Thanks, testing it out now.


#5

Should be fixed in latest nightly (as of a few minutes ago, fixed)

Codepen: http://codepen.io/ajoslin/pen/txwoA


#6

…Also, thanks for using the nightlies!! It makes sure we are on our toes. Please keep using them and reporting!


#7

Hey so i fixed the icon issues by just rebuilding them (using custom icons) but switching tabs still isn’t working. I’ve tried in Chrome, Safari, iOS and Android.


#8

Hey @andytjoslin, don’t know if this would help but I used the un-minified version of the javascript as that the error was at line 16418. Heres a screen capture of the console error


#9

Could you reproduce this issue in a plunkr/codepen? It would help; I’m not able to get it on my end.


#10

I haven’t been able to reproduce it in a plunker or codepen but I can verify that my tabs worked yesterday. I saw some changes to the ionicTabBar.js file on github (commit 0f1b6f4) and a few other changes related to tabs after that. Not 100% sure why I can reproduce it but if there is an issue, it may start around there.

Wish I could be of more help on trying to find the problem. As of now I have to go back to 0.9.25 for production


#11

FOUND THE ERROR!

So the issue seems to be not with ionic but on my end. One of custom directives unfortunately uses jquery, which I updated to version 2.x last evening and left work without testing…my mistake.

After replacing jquery with 1.11.0, everything works.


#12

I’m getting this exact same error with 0.9.26 as well as the latest nightly build. I removed jQuery from my project completely and the error persists. I’m still trying to reproduce it outside of my project.


#13

+1 for entirely removing jQuery 2.1 from my project
This fixed the problem for me.


#14

+1 I had same error, downgradind jquery 2 to 1.11.0 solved everything!