我尝试将用户的值传递给角度代码。为了在服务器端执行此操作,我使用res.render传递用户的数据,在客户端我设置值:
<script>
angular.module('UserModule', []).value('user', {req.user|js|s});
</script>
不幸的是,当用户不在时,它呈现为:
angular.module('UserModule', []).value('user', );
并导致错误:
Uncaught SyntaxError: Unexpected token )
知道在用户数据不存在时如何避免此错误?
答案 0 :(得分:1)
如第一条评论中所述,如果没有可用的数据,请确保req.user
是一个空对象({}
)。 BTW我看到以下模式将数据注入Google Talk中的角度应用程序,我发现它非常有用:
在HTML中分配您的数据:
<script>
window.user = {req.user|js|s};
</script>
将配置阶段的数据作为常量提供:
angular.module('UserModule', []).
config(function(){
$provide.constant('user', angular.copy(window.user));
})