从HTML标记初始化AngularJS模型

时间:2015-04-16 06:05:41

标签: javascript django angularjs

我正在使用django + angular。我希望django在HTML模板中填充一个值,然后告诉Angular将该值用作模型的初始值。

我需要这个有两个原因:

  1. 简洁 - 页面deos目前没有使用Angular,我相信 这将是     这种方式更容易升级。
  2. SEO - 有些搜索引擎无法阅读     通过Angular在DOM中填充的值。我知道有     使用Angular的SEO的几个解决方案,但我希望有一个更容易     方式是什么?
  3. 非常感谢任何帮助:)

1 个答案:

答案 0 :(得分:0)

您可以根据初始HTMl值初始化模型。

例如,您的HTML将是:

<div ng-bind="value">initialValue</div>

你是控制者:

var elem = $( 'get the element' );
$scope.value = elem.text();

然后Angular将接管并反映对$scope.value所做的任何更改。

缺点是您需要获取元素(为简单起见,此处使用jQuery,但您可以使用vanilla Javascript)。

解决这个问题的一种方法是自定义指令:

<div late-binding="value">initialValue</div>

我将指令代码作为读者的练习,除非你需要帮助:)