Error in Guide (no method pushDown on Menu Open


#1

I am working through the guide and have the code set up but when the side menu open I get a stream of "TypeError: Object # has no method ‘pushDown’ " from ionic.js

code to replicate here (https://github.com/timcash/ionicerror2)

full error below

TypeError: Object # has no method 'pushDown’
at ionic.controllers.SideMenuController.ionic.controllers.ViewController.inherit.openAmount (http://localhost:8000/js/ionic.js:4615:34)
at ionic.controllers.SideMenuController.ionic.controllers.ViewController.inherit.openPercentage (http://localhost:8000/js/ionic.js:4583:14)
at ionic.controllers.SideMenuController.ionic.controllers.ViewController.inherit.toggleLeft (http://localhost:8000/js/ionic.js:4523:14)
at Scope.$scope.toggleProjects (http://localhost:8000/js/app.js:99:39)
at Parser.functionCall (http://localhost:8000/js/ionic-angular.js:9899:21)
at http://localhost:8000/js/ionic-angular.js:22923:9
at Scope.$get.Scope.$eval (http://localhost:8000/js/ionic-angular.js:11590:28)
at Scope.$get.Scope.$apply (http://localhost:8000/js/ionic-angular.js:11690:23)
at HTMLButtonElement. (http://localhost:8000/js/ionic-angular.js:22922:13)
at http://localhost:8000/js/ionic-angular.js:2782:10 ionic-angular.js:9115
(anonymous function) ionic-angular.js:9115
$get ionic-angular.js:6720
$get.Scope.$apply ionic-angular.js:11692
(anonymous function) ionic-angular.js:22922
(anonymous function) ionic-angular.js:2782
forEach ionic-angular.js:314
forEach.triggerHandler ionic-angular.js:2781
JQLite.(anonymous function) ionic-angular.js:2793
(anonymous function) ionic-angular.js:22904
(anonymous function) ionic-angular.js:2576
forEach ionic-angular.js:314
eventHandler

-Tim


#2

Hey Tim,

Did you try a new version, this was recently fixed: https://github.com/driftyco/ionic/pull/200

Thanks!


#3

I updated to the code pushed yesterday and the error seems to be gone but, now none of the buttons work. The app comes up and I can drag the menu out but none of the ng-click bindings seem to be working. I have double checked the $scope is available with the proper methods.


#4

Opps I had left out the following code

        // Try to create the first project, make sure to defer
    // this by using $timeout so everything is initialized
    // properly
    $timeout(function() {
        if($scope.projects.length == 0) {
            while(true) {
                var projectTitle = prompt('Your first project title:');
                if(projectTitle) {
                    createProject(projectTitle);
                    break;
                }
            }
        }
    });

I don’t really understand what that block of code is for.