我想在 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">
然后在我的 Controller 中:
function Ctrl($scope) {
$scope.record; //is available automatically with the data added in ng-init
这是在 Angular 中执行此操作的正确方法吗?还有更好的办法吗? (除了执行 http 请求)
谢谢
最佳答案
没关系。请记住通过 HTML 转义运行生成的 JSON 以避免 XSS 和其他问题,例如在 PHP 中:
<?php
$record = array('id' => 1, 'name' => 'name');
?>
<div ng-init="<?php echo htmlspecialchars(json_encode($record)); ?>"></div>
关于javascript - 在 dom 中为 Angular 播种数据的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16293734/