我想在DOM中为我的javascript所需的数据播种我想避免不必要的调用服务器来获取此数据。
通常我会使用数据属性在dom中添加该数据,例如
<div data-record="{id: 1, name: 'name'}">
然后使用jquery我会做类似的事情:
var record = $ele.data('record');
由于这是Angular的一个不好的做法,我发现我可以这样做:
<div ng-init="record={id: 1, name: 'name'}">
<div ng-controller="Ctrl">
然后在我的控制器中:
function Ctrl($scope) {
$scope.record; //is available automatically with the data added in ng-init
这是在Angular中这样做的正确方法吗?有更好的方法吗? (除了做一个http请求)
由于
答案 0 :(得分:2)
没关系。请记住通过HTML转义运行生成的JSON以避免XSS和其他问题,例如用PHP:
<?php
$record = array('id' => 1, 'name' => 'name');
?>
<div ng-init="<?php echo htmlspecialchars(json_encode($record)); ?>"></div>