我正在尝试创建两个单独的 Angular 应用程序,但我无法做到这一点。这样做的目的是创建两个不同的应用程序,一个用于身份验证,成功后它将调用后面的真实应用程序。在这个 plunker 中,我无法杀死第一个应用程序并在加载 Page-4 时创建一个新应用程序。似乎我正在尝试将新应用程序注入旧应用程序,无论我试图杀死旧应用程序并创建一个新应用程序。我确定错误可能出在使用$stateProvider
您在旧应用的范围内声明新应用。因此,子作用域不可能替换其父作用域。这根本不合逻辑。
如果您真的想实现这一点,请尝试在登录后使用页面地址替换完整的页面并在那里定义您的角度应用程序,或者您需要使用自定义 ajax 调用来替换页面上的内容。(替换了完整的旧应用程序 HTML(
您无法使角度应用程序自行替换,因为它不在其范围内。
您还可以为这两个应用定义一个通用的父应用,该应用可以随时替换其中任何一个。
用一个工作示例检查这个 plunker。
您需要像这样使用路由:
$urlRouterProvider.when("", "/PageTab");
$stateProvider
.state("PageTab", {
url: "/PageTab",
templateUrl: "PageTab1.html"
})
.state("PageTab.Page5", {
url: "/Page5",
templateUrl: "Page5.html"
})
.state("PageTab.Page6", {
url: "/Page6",
templateUrl: "Page6.html"
});
并且不要处理新的 HTML,因为它仍然连接到旧的 HTML。这是新页面上的全新应用程序。