gpt4 book ai didi

url - 如何在没有templateUrl的情况下进行路由?

转载 作者:行者123 更新时间:2023-12-03 09:01:48 25 4
gpt4 key购买 nike

好。我有一个网址设置来注销用户。在服务器上,没有html。服务器上的 session 只会被破坏,然后将用户重定向到一个地址。

使用纯HTML可以正常工作,但是使用Angular时出现问题。我一直在使用$routeProvider.when('/foo', {templateUrl: '/foo.html', controller: 'Ctrl'})路由所有主要路由,并且对于正常的模板化路由也可以正常工作..但是,如果没有模板,它将无法正常工作。

那么,在没有html模板的情况下,如何以与上述相同的方式支持/logout路由?

最佳答案

一种解决方法是使用template而不是templateUrl。从Angular docs:

template – {string=} – html template as a string that should be used by ngView or ngInclude directives. this property takes precedence over templateUrl.



可以如下使用:
$routeProvider.when("/foo", {template: " ", controller: "Ctrl"});

注意:您必须使用 " "而不是空字符串 "",因为Angular在触发 Controller 之前会使用 if (template)检查,并且空字符串的值为false。

-编辑-

更好的方法是使用 resolve映射。参见 Angular Docs:

resolve - {Object.=} - An optional map of dependencies which should be injected into the controller.



可以这样使用:
$routeProvider.when('/foo', {resolve: {redirect: 'RedirectService'}});

注意:我已将其从“Ctrl”更改为“RedirectService”,因为您在问题中描述的实际上并不是Angular的“ Controller ”。它没有设置 View 范围。相反,它更像是服务,最终导致重定向。

关于url - 如何在没有templateUrl的情况下进行路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14411740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com