我正在创建一个大型的AngularJs应用,该应用需要User Login。
在对用户进行身份验证之后,将向其呈现页面,并在以后加载后续数据。
有两种方法:
页面加载后的XHR提取:
这意味着在“运行”块或某处发送XHR请求以获取LoggedIn用户。对...说'/api/current_user.json'
将数据嵌入HTML中
为避免上述方法的初始加载时间,我认为将一些标签嵌入JSON
到HTML页面中是很好的<script>
。
但是,我无法从代码module.run
块的'script'标记中获取此数据。
我怎样才能做到这一点 ?
您可以使用window object
或用于ng-init
将数据从呈现的HTML传递到Angular:
窗口对象
将值分配给“窗口”对象。在Angular中,注入$ window服务,该服务引用窗口对象并访问您存储的值。
例:
在您的HTML文件中:
<script>
window.init = { name: "John Doe" };
</script>
在控制器中(对于运行块应类似地工作):
app.controller('MainCtrl', ['$scope', '$window', function($scope, $window) {
$scope.user = $window.init;
...
}]);
伍热
创建一个为您初始化值的函数。
在HTML中:
<body ng-controller="MainCtrl" ng-init="initialize( { name: 'Jane Doe' } )">
在控制器中:
$scope.initialize = function( json ) {
$scope.user2 = json;
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句