如何为 angular ui 视图制作通用关闭按钮?
How to make a generic close button for angular ui-views?
我需要一个可以使用 $window.history.back() 从每个视图调用的函数,无论哪个控制器控制该页面。
.run(['$rootScope', '$state', 'CommonUserModel', 'InitialiseService','$window', function($rootScope, $state, $window, commonUserModel, initialiseService) {
$rootScope.link = function(){
$window.history.back();
};
所以我把这个功能放到了应用程序模块中。注入 window 对象,因为它抱怨它。但现在它也抱怨它 "Cannot read property 'back' of undefined".
我在阅读 Whosebug 时使用其他控制器的 $rootScope 调用此函数。我不得不像这样将 $rootScope 注入其他控制器。
homeViewModule.controller("simDetailsController", [ '$rootScope','$scope', 'ModalDialogService', 'CommonTagModel', '$location','$window',
function($scope, modalDialogService, commonTagModel, $location, $window,$rootScope) {
self.link = function(){
$rootScope.link();};
你能给我一个建议吗?
请记住,我是 AngularJS 的新手,我仍然不了解这个混乱、复杂的框架。
你应该使用路线:
您在参数列表中注入 $window
& $rootScope
的顺序与字符串数组列表不匹配。
您提到 '$window'
作为字符串数组中的第 5 个元素,而它是参数列表中的第 3 个元素。
此外,在您的代码中,'$rootScope'
是字符串数组中的第一个元素,而它是参数列表中的第 6 个元素。
将您的两个代码片段中的第一行替换为:
.run(['$rootScope', '$state', 'CommonUserModel', 'InitialiseService','$window', function($rootScope, $state, commonUserModel, initialiseService, $window) {
homeViewModule.controller("simDetailsController", [ '$rootScope','$scope', 'ModalDialogService', 'CommonTagModel', '$location','$window',
function($rootScope, $scope, modalDialogService, commonTagModel, $location, $window) {
我需要一个可以使用 $window.history.back() 从每个视图调用的函数,无论哪个控制器控制该页面。
.run(['$rootScope', '$state', 'CommonUserModel', 'InitialiseService','$window', function($rootScope, $state, $window, commonUserModel, initialiseService) {
$rootScope.link = function(){
$window.history.back();
};
所以我把这个功能放到了应用程序模块中。注入 window 对象,因为它抱怨它。但现在它也抱怨它 "Cannot read property 'back' of undefined".
我在阅读 Whosebug 时使用其他控制器的 $rootScope 调用此函数。我不得不像这样将 $rootScope 注入其他控制器。
homeViewModule.controller("simDetailsController", [ '$rootScope','$scope', 'ModalDialogService', 'CommonTagModel', '$location','$window',
function($scope, modalDialogService, commonTagModel, $location, $window,$rootScope) {
self.link = function(){
$rootScope.link();};
你能给我一个建议吗? 请记住,我是 AngularJS 的新手,我仍然不了解这个混乱、复杂的框架。
你应该使用路线:
您在参数列表中注入 $window
& $rootScope
的顺序与字符串数组列表不匹配。
您提到 '$window'
作为字符串数组中的第 5 个元素,而它是参数列表中的第 3 个元素。
此外,在您的代码中,'$rootScope'
是字符串数组中的第一个元素,而它是参数列表中的第 6 个元素。
将您的两个代码片段中的第一行替换为:
.run(['$rootScope', '$state', 'CommonUserModel', 'InitialiseService','$window', function($rootScope, $state, commonUserModel, initialiseService, $window) {
homeViewModule.controller("simDetailsController", [ '$rootScope','$scope', 'ModalDialogService', 'CommonTagModel', '$location','$window',
function($rootScope, $scope, modalDialogService, commonTagModel, $location, $window) {