我尝试将用户的值传递给 Angular 代码。为了在服务器端执行此操作,我使用 res.render 传递用户数据,并在客户端设置值:
<script>
angular.module('UserModule', []).value('user', {req.user|js|s});
</script>
不幸的是,当用户不存在时,它会呈现为:
angular.module('UserModule', []).value('user', );
它会导致错误:
Uncaught SyntaxError: Unexpected token )
知道当用户数据不存在时如何避免此错误吗?
最佳答案
如第一条评论中所述,如果没有可用数据,请确保 req.user
为空对象 ({}
)。顺便说一句,我在 Google 演讲中看到了以下将数据注入(inject) Angular 应用程序的模式,我发现它非常有用:
在 HTML 中分配数据:
<script> window.user = {req.user|js|s}; </script>
在配置阶段提供数据作为常量:
angular.module('UserModule', []). config(function(){ $provide.constant('user', angular.copy(window.user)); })
关于javascript - 当数据不可用时,在 Angular 模块中设置值时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24476221/