在角度为dom中播种数据的正确方法是什么

时间:2013-04-30 06:38:27

标签: javascript angularjs

我想在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请求)

由于

1 个答案:

答案 0 :(得分:2)

没关系。请记住通过HTML转义运行生成的JSON以避免XSS和其他问题,例如用PHP:

<?php
$record = array('id' => 1, 'name' => 'name');
?>
<div ng-init="<?php echo htmlspecialchars(json_encode($record)); ?>"></div>