Controllers.js
angular.module('starter.controllers',[])
.controller('AppCtrl',function($scope,$rootScope) {
$rootScope.side_menu = document.getElementsByTagName("ion-side-menu")[0];
$rootScope.$on('$stateChangeSuccess', function (event, toState, toParams, fromParams, toParams) {
if (toState.name != 'app.map') {
$rootScope.side_menu.style.visibility = "visible";
}
});
})
.controller('MapCtrl',function($scope) {
$rootScope.side_menu.style.visibility = "hidden";
})
Angular和Ionic的新手。已经检查了有关此错误的其他问题。谢谢。
HTML
AppJS
最佳答案
从控制器MapCtrl的名称中删除app.js中的;
。
'MapCtrl;'如示例所示,应为“ MapCtrl”
.state('app.map,{
url:"/map",
views: {
'menuContent' :{
templateUrl: "templates/map.html",
controller: 'MapCtrl'
}
}
})
附言之后,您应该将
$rootScope
注入MapCtrl内,因为否则会得到ReferenceError: $rootScope is not defined
关于javascript - AngularJS错误:“参数'MapCtrl'不是函数,未定义”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37868638/