整个 ionic 和 Angular 场景的新手。 我使用 ionic Creator 来生成 View 文件。 我的目标是在进入选项卡之前检查用户是否已登录。 但是,在进行身份验证部分之前,我想检查用户所在的窗口。 我正在尝试使用简单的alert/console.log 来识别进度。
下面是我的代码。
.controller('adminPageCtrl', ['$scope', '$stateParams', '$state', function ($rootScope, $scope, $stateParams, $state) {
//alert($state.current.name);
$scope.currState = $state;
var currentState = $state.current.name;
console.log($state);
}])
我遇到了以下错误,我似乎无法做出正面或反面。 “ionic.bundle.js:26799 TypeError:无法读取未定义的属性“当前””。
非常感谢任何帮助。 甚至 console.log($state);命令返回“未定义”。
最佳答案
您的代码的问题在于您定义的依赖项比实际使用的依赖项多。
您可以通过删除函数定义中对 $rootScope 的引用或将其添加到依赖项列表来修复它。
.controller('adminPageCtrl', ['$scope', '$stateParams', '$state', function($scope, $stateParams, $state) {
//alert($state.current.name);
$scope.currState = $state;
var currentState = $state.current.name;
console.log($state);
}])
或者
.controller('adminPageCtrl', ['$rootScope', '$scope', '$stateParams', '$state', function($rootScope, $scope, $stateParams, $state) {
//alert($state.current.name);
$scope.currState = $state;
var currentState = $state.current.name;
console.log($state);
}])
由于您使用依赖项的名称来命名函数内的变量,因此您还可以使用隐式注释(请查看文档 https://docs.angularjs.org/guide/di ):
.controller('adminPageCtrl', function($scope, $stateParams, $state) {
//alert($state.current.name);
$scope.currState = $state;
var currentState = $state.current.name;
console.log($state);
})
关于javascript - 获取 ionic 应用程序的当前状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41106138/