我只是想知道是否可以阻止 angularjs 指令的编译?
我使用 jQuery Slick Grid 插件在我的网站中显示一些数据网格,并且我想出了一种方法来轻松定义带有包含 HTML 的嵌套指令的单元格模板。
问题是这个 HTML 代码是用来作为模板的,但是 AngularJS 在网格初始化之前编译它!(虽然看起来合乎逻辑......)
提前致谢 !
编辑:这是我的指令的一个例子。
<div class="datagrid" my-datagrid="o in collection">
<div my-datagrid-column="col1">
<div>{{o.col1}}</div>
</div>
<div my-datagrid-column="col2">
<div custom-directive-with-transclusion="foobar">{{o.col2}}</div>
</div>
</div>
所以在这里,我有一个父指令my-datagrid
,其中包含几个my-datagrid-column
描述网格每一列的指令。这些指令节点的 Eechmy-datagrid-column
包含 HTML 内容,其目的是用作网格单元格的模板,在它们将被渲染时。
问题在于,引擎在指令创建 Datagrid之前custom-directive-with-transclusion
“看到”并编译、嵌入指令。my-datagrid
所以我的datagrid-column
指令得到一个已经编译的单元格“模板”......我不想要那个,我想自己用$compile
服务编译每个单元格。
也许这不是这样做的方法,也许我完全走错了路。我只是想避免在 Javascript 控制器中描述一些丑陋的引号之间的单元格模板并转义所有内容,例如:
template[0] = '<div>this is my ugly template {{myCol1}} of my first column</div>';
template[1] = '<div>this is my ugly template {{myCol2}} of the 2nd column</div>';