AngularJS,将预定义的DOM元素插入到html中

时间:2014-08-18 12:30:52

标签: javascript angularjs

我在results数组的每个元素中都有一个预定义的Canvas元素,我在ng-repeat中使用它。我需要将这个画布放在ng-repeat的每个元素中。 {{result.canvas}}无法正常运行并出错。 试图通过指令插入canvas,但没有成功。

results中的每个元素都有一堆数据和一个Canvas DOM元素。例如。:
result.canvas = document.createElement("canvas");

我需要将此画布插入HTML:

<div class="result" data-ng-repeat="result in results" data-ng-if="!result.error">
  <div class="result-image">
    <div class="result-image-display">
      <div data-ng-style="computeStyle(result)">
      {{result.canvas}}
      </div>
    </div>

哪个出错:https://docs.angularjs.org/error/$interpolate/interr?p0=%0A%20%20%20%20%20%20%20%20%20%20%7B%7Bresult.canvas%7D%7D%0A%20%20%20%20%20%20%20%20%20%20&p1=TypeError:%20Converting%20circular%20structure%20to%20JSON

我需要知道如何将DOM元素插入HTML而不会出现此错误。

1 个答案:

答案 0 :(得分:0)

Angular应该执行$ interpolate来替换你的double-curlies,而docs中的$ interpolate表示参数应该是一个字符串。但是你的画布不是一个字符串。

https://docs.angularjs.org/api/ng/service/$interpolate