加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 确定在控制器中启用了HTML5模式

发布时间:2020-12-17 17:47:52 所属栏目:安全 来源:网络整理
导读:在Angular Js的控制器中,我想知道是否启用了 html5Mode.我怎样才能做到这一点? 细节: 在配置阶段我可以设置$locationProvider.html5Mode(true)或者我可以通过使用$locationProvider.html5Mode()来学习是否启用html5Mode 但是,我不能在“运行”块上执行相同
在Angular Js的控制器中,我想知道是否启用了 html5Mode.我怎样才能做到这一点?

细节:

在配置阶段我可以设置$locationProvider.html5Mode(true)或者我可以通过使用$locationProvider.html5Mode()来学习是否启用html5Mode

但是,我不能在“运行”块上执行相同的操作,如下所示:

var isHtml5enabled = $location.html5mode() // looking for something like this...

有没有办法做到这一点?

更新

为什么我需要它?

我想修改ui-router.

ui-router的ui-sref指令和$state.href(“”)service / method生成url而不考虑它是否在Html5Mode中.

如果启用了Html5Mode,那么这样的网址就可以了:/ my / base / path / generated / by / uirouter
但如果它被禁用,它应该是这样的:/ my / base / path /#/ generated / by / uirouter

所以我试图检测Html5Mode的状态.

我在配置阶段做了,但是在我读完信息后,另一个模块可以改变它的状态. (我猜……)这就是为什么我想确定控制器/运行块上Html5Mode的状态.

解决方法

虽然现在已经很晚了,但我发现你可以通过$location检测HTML5模式是否开启.$$html5.所以你可以在控制器中执行此操作:

if (!$location.$$html5) {
    // your code to execute when HTML5 mode is not enabled
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读