Ideally, when I click on the button (which is in the Ionic navbar at the top), it should bring me to another page. However its not working. Upon click, the nav bar buttons all disappears.
When I used dummy codes, it works; the alert appears.
But when I swap it to the actual code, it fails to work.
I've got a feeling somethings wrong with the controller codes and how the URL or view is referred to. But testing with href and ui-sref also fails to yield anything. Google Devt Tools (JS console) and Batarang also shows nothing.
Could someone show me the way please?
dummy html code
<button class="button button-icon ion-compose" ng-click="create()"></button>
dummy controller code in js file
$scope.create = function() {
alert("working");
};
actual html code (I tried all 4 versions)
<button class="button button-icon ion-compose" ng-click="create('tab.newpost')"></button>
<button class="button button-icon ion-compose" ui-sref="tab.newpost"></button>
<button class="button button-icon ion-compose" href="/tab/newpost"></button>
<button class="button button-icon ion-compose" ng-click="location.path('/tab/newpost')"></button>
The controller file (the Post and Auth dependencies work ok). When I try to put the URL in both the .go() and function(), the app fails.
app.controller('NavCtrl', function ($scope, $location, $state, Post, Auth) {
$scope.post = {url: 'http://', title: ''};
$scope.create = function() {
/* $location.path('/tab/newpost'); */ /* this variant doesnt work */
$state.go("/tab/newpost");
};
});
Extracts of the state js file
.state('tab.newpost', {
url: '/newpost',
views: {
'tab-newpost':{
templateUrl: 'templates/tab-newpost.html',
controller: 'NewCtrl'
}
}
});
$urlRouterProvider.otherwise('/auth/login');
See Question&Answers more detail:
os