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

Angularjs:在应用程序配置通过后定义路由

发布时间:2020-12-17 16:58:48 所属栏目:安全 来源:网络整理
导读:应用程序运行后是否可以添加和删除路由? 我们有一个应用程序,它已经在浏览器中运行,当用户在应用程序中启动一个小部件时,我们会动态加载额外的脚本. (将其视为谷歌或苹果的应用程序商店,然后点击某个应用程序,它会打开应用程序,并带有自己的脚本) 现在应用
应用程序运行后是否可以添加和删除路由?

我们有一个应用程序,它已经在浏览器中运行,当用户在应用程序中启动一个小部件时,我们会动态加载额外的脚本. (将其视为谷歌或苹果的应用程序商店,然后点击某个应用程序,它会打开应用程序,并带有自己的脚本)

现在应用程序需要做的其中一件事就是在应用程序中有路由.

当前路由:

> app store:/ apps
> app store的应用程序详细信息:/ apps /:appname
>应用程序的URL:/ app /:appname
>应用程序中的路径:/ app /:appname /:…这可能是:/ app / notes / create或/ app / contacts / edit或/ app / contacts / new

每个应用程序可以有不同的路由,不一定在同一级别,它们可以是/ app / news / foreign / latest

每个应用程序必须是独立的,并且应用程序的脚本加载时应该加载路由.我们设法通过$controllerProvider.register方法为控制器和指令执行此操作,以便在应用程序启动后将控制器添加到应用程序.

但在应用程序的配置阶段后,$routeProvider不可用.

我设法以肮脏的方式公开它:

var myApp = angular.module('myApp',[]);
myApp.config(function AppConfig($routeProvider) {
    myApp.routeProvider = $routeProvider;
});

这样看起来我可以注册路由,但正如我所料,当你在浏览器中手动输入时,这些网址中的任何一个都不起作用,因为角度应用程序本身在运行时不知道这些路由.

实际上,这些路由仅在触发/ app /:appname路由后才可用,然后加载脚本并添加额外路径.

TL; DR:

>应用程序启动后是否可以干净地注册新路由
>有没有人知道直接链接到其中一个子路由的解决方案,当它们尚未为应用程序所知时?

我试图将一个jsfiddle放在一起,但这是一个难以置入jsfiddle的概念.

解决方法

考虑到这一点,以不同的方式解决了我们的问题,我只是清楚地知道我的请求是不可能的.

>您无法链接到尚未注册的路线>之后注册路由可以完成,但不像在模块的配置部分中使用routeProvider那样干净.

(编辑:李大同)

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

    推荐文章
      热点阅读