angularjs – 我将如何将ui路由器转到外部链接,如google.com?
发布时间:2020-12-17 07:45:40 所属栏目:安全 来源:网络整理
导读:例如: $stateProvider .state('external',{ url: 'http://www.google.com',}) url假定这是一个内部状态.我希望它像href或这样的东西. 我有一个导航结构,将从ui路由构建,我需要一个链接去外部链接.不一定只是google,这只是一个例子. 不是在一个链接或$state.
例如:
$stateProvider .state('external',{ url: 'http://www.google.com',}) url假定这是一个内部状态.我希望它像href或这样的东西. 我有一个导航结构,将从ui路由构建,我需要一个链接去外部链接.不一定只是google,这只是一个例子. 不是在一个链接或$state.href(‘http://www.google.com‘)中寻找它.需要它在路由配置中声明性地.
Angular-ui-router不支持外部URL,您需要使用$location.url()或$window.open()重定向用户, 我建议您使用$window.open(‘http://www.google.com’,’_self’),这将打开同一页面上的URL. 更新 您还可以通过添加外部参数来定制ui-router,它可以是true / false. $stateProvider .state('external',{ url: 'http://www.google.com',external: true }) 然后配置$stateChangeStart在你的状态&处理重定向部分. 运行块 myapp.run(function($rootScope,$window) { $rootScope.$on('$stateChangeStart',function(event,toState,toParams,fromState,fromParams) { if (toState.external) { event.preventDefault(); $window.open(toState.url,'_self'); } }); }) Sample Plunkr
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |