所以,我猜这个问题比任何事情更具学术性。我整个下午都在MEAN堆栈应用程序的重置密码功能上工作,我选择使用的一般方法如下:
'823uhr8824hriij3993'
)并将字符串保存为用户的记忆令牌(对于小时,也会保存到期日。)'/reset/:token'
(继续示例'/reset/823uhr8824hriij3993'
)。我正在使用ng-Route,我的重置密码路由配置为:
.when('/reset/:token', {
templateUrl: 'partials/account/reset-password.html',
controller: 'resetPasswordCtrl'
})
除非我遗漏了一些明显的(完全可能的),当用户点击'/reset/823uhr8824hriij3993'
路线并且Angular呈现reset-password.html
视图时,它应该连接到resetPasswordCtrl
,不应该吗?
我今天花了几个小时试图解决那些无法正常工作的用户名,密码和密码确认验证,其中很多都是在resetPasswordCtrl
编码的,这意味着必定会出现一些错误导致断开连接。但实际上控制器实际上并没有连接到视图,直到我将ng-controller="resetPasswordCtrl"
放在最顶层的div标签中。
此应用程序中的所有其他路由都是静态的,并且如上所述通过$ routeProvider设置,这是我第一次遇到此问题,因此我认为它必须因为动态而出现路线的/:token
部分。无论如何,我的直接问题已经解决了,但是如果有人不介意花点时间解释为什么它首先是一个问题,我会非常感激它...以供将来参考!
答案 0 :(得分:0)
因为我可以看到问题是您的重置密码页面直接来自服务器,因此角度本身和您编写的路由不能在那里工作,因为所有工作都由服务器本身处理,所以如果您想要使用该功能,您应该创建一个单独的html文件,如(' reset.html'),包含所有标签以及加载应用和控制器所需的一切,然后将其指向服务器响应页面 在这种情况下,当服务器开始提供重置页面时,它会提供实际的页面