我试图创建两个单独的Angular应用程序,但我无法做到这一点。
这个目的是创建两个不同的应用程序,用于身份验证,成功时它将调用真正的应用程序。
在这个plunker中,我无法杀死第一个应用程序并在加载Page-4时创建一个新应用程序。似乎我试图将新应用程序注入旧版本,无论我是想要杀死旧应用程序并创建新应用程序。
我确定错误可能在于使用$stateProvider
答案 0 :(得分:0)
这是因为您在旧应用程序范围内声明了新应用程序。因此,子范围无法替换其父级。这根本不符合逻辑。
如果你真的想要实现这一点,请尝试在登录后使用页面地址替换整个页面并在那里定义你的角度应用程序,或者你需要使用自定义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连接。它是新页面上的一个全新的应用程序。