Javascript 如何从呈现的html向angularjs应用程序添加初始数据

Javascript 如何从呈现的html向angularjs应用程序添加初始数据,javascript,html,json,angularjs,Javascript,Html,Json,Angularjs,我正在创建一个大型AngularJs应用程序,它需要用户登录 对用户进行身份验证后,将向用户呈现一个页面,随后加载后续数据 这有两种方法: XHR在页面加载后获取: 这意味着在“run”块或其他地方发送一个XHR请求以获取LoggedIn用户。对'/api/current_user.json' 嵌入HTML的数据 为了避免上述方法的初始加载时间,我认为在Html页面中嵌入一些JSON作为标记是很好的 但是,我无法从我的模块中获取“script”标记中的此数据。请运行块。 如何执行此操作?您可

我正在创建一个大型AngularJs应用程序,它需要用户登录
对用户进行身份验证后,将向用户呈现一个页面,随后加载后续数据

这有两种方法:

  • XHR在页面加载后获取
    这意味着在“run”块或其他地方发送一个XHR请求以获取LoggedIn用户。对
    '/api/current_user.json'

  • 嵌入HTML的数据
    为了避免上述方法的初始加载时间,我认为在Html页面中嵌入一些
    JSON
    作为
    标记是很好的

但是,我无法从我的
模块中获取“script”标记中的此数据。请运行
块。

如何执行此操作?

您可以使用
窗口对象
或使用
ng init
将数据从呈现的HTML传递到:

窗口对象

将值指定给“窗口”对象。在Angular中,插入$window服务,该服务引用窗口对象并访问存储的值

例如:

在HTML文件中:

<script>
  window.init = { name: "John Doe" };
</script>
Ng Init

创建一个为您初始化值的函数

在HTML中:

<body ng-controller="MainCtrl" ng-init="initialize( { name: 'Jane Doe' } )">

您可以使用
窗口对象
或使用
ng init
将数据从呈现的HTML传递到:

窗口对象

将值指定给“窗口”对象。在Angular中,插入$window服务,该服务引用窗口对象并访问存储的值

例如:

在HTML文件中:

<script>
  window.init = { name: "John Doe" };
</script>
Ng Init

创建一个为您初始化值的函数

在HTML中:

<body ng-controller="MainCtrl" ng-init="initialize( { name: 'Jane Doe' } )">

谢谢@andrbmgi,但我不想污染全局窗口对象,是否还有其他方法,或者这可能只是一个问题。您可以始终执行
删除$window.init以取消删除;)。我更新了plnkr。我包括了另一个使用ng init的选项。这将使用另一个函数来处理$scope。解决方法。。。您猜到了
删除$scope.initialize
。plnkr现在同时包含这两个SOUTIONS。谢谢@andrbmgi,但我不想污染全局窗口对象,有没有其他方法,或者这可能只是一个要点。您可以始终执行
删除$window.init以取消删除;)。我更新了plnkr。我包括了另一个使用ng init的选项。这将使用另一个函数来处理$scope。解决方法。。。您猜到了
删除$scope.initialize
。plnkr现在同时包含两个SOUTIONS..constant('user',myGlobalUser)看看mean.io peops是如何管理此主题的。constant('user',myGlobalUser)看看mean.io peops是如何管理此主题的