我必须使用修改我的DOM的框架。以下是一些使用的示例HTML:
<div id="testID" ng-show="example === 'show'">Some Content</div>
将由框架修改为:
<div id="wrapperOne">
<div id="wrapperTwo">
<div id="testID" ng-show="example === 'show'">Some Content</div>
</div>
</div>
这可以通过调用像这样的JS函数来完成:
framework.wrap($("#testID"));
如您所见,框架使用其他一些元素包装旧HTML。 我的问题是,当$ scope.example变为'show'时,Angular不会显示div。没有使用框架,它工作正常,我认为问题是,angular在框架更改之前编译DOM。框架必须等待ajax请求,所以在它不起作用之后只包括角度脚本。
我正在寻找一种强制角度的解决方案来“重新编译”整个DOM,更好的是它的某些部分。 这是正确的提案,还是有其他方法可以做到这一点?只是省略框架不是解决方案,因为我必须使用它。
非常感谢,
-Lukas
答案 0 :(得分:0)
将自定义directive与ng-transclude
我创造了一个小提琴 - http://jsfiddle.net/zghuoxhb/2/
<强>指令:强>
.directive('myWrapper', function () {
return {
restrict: 'E',
templateUrl: "my-wrapper-template.html",
replace: true,
transclude: true,
scope: false
};
})
<强> HTML:强>
<my-wrapper>
<div id="testID" ng-show="example === 'show'">Some Content</div>
</my-wrapper>
<强>输出:强>
BTW优秀的问题,这是展示角度真棒的一个很好的用例