【发布时间】:2014-12-02 16:14:15
【问题描述】:
有点奇怪的问题,我不完全确定发生了什么,所以我会尽量说清楚。
我通过 json 对象引入 html 内容并将其放置在 div 中。我遇到的问题是,当我通过指令引入运行 javascript 的 html 时,它似乎没有运行。例如 - 我正在玩这个 http://cmaurer.github.io/angularjs-nvd3-directives/ ,一个 d3 角度指令。
如果我在模板上有 html,它可以正常工作 - 我正在使用他们页面中的一个示例,看起来像这样 -
<nvd3-stacked-area-chart data="exampleData" id="exampleId" showXAxis="true" showYAxis="true" showControls="true" width="700" height="200"> <svg></svg> </nvd3-stacked-area-chart>
放置在页面上时效果很好,但是当我通过 json 将其引入时,似乎指令(或角度?)没有在其上运行。
作为参考,json 的一部分是这样进来的 -
'content' : '<nvd3-stacked-area-chart data="exampleData" id="exampleId" showXAxis="true" showYAxis="true" showControls="true" width="700" height="200"> <svg></svg> </nvd3-stacked-area-chart>',
然后像这样被绑定
ng-bind-html="widget.content"
这似乎工作正常,如果我检查元素我可以看到正确的 html 坐在那里。我的控制器中有一个 $sce.trustAsHtml 以确保它被正确转义。
所以我不确定如何解决这个问题,因为没有抛出特定的错误,所以我不确定它是有角度的,还是指令,还是事件的顺序?一旦将 html 内容加载到 div 中,是否有办法重新初始化 d3 指令?
我不知道从哪里开始,所以我非常感谢任何见解。感谢您的阅读!
【问题讨论】:
标签: javascript json angularjs