$scope.templateDOM = templatePath;
<div id="Template" ng-include="templateDOM"></div>
情境
我已将templatePath添加到范围。
添加templatePath之后,可以在页面中看到templateDOM。
现在,从页面
jQuery("#templateDOM").remove();
中删除templateDOM。我再次尝试执行
$scope.templateDOM = templatePath;
这种逻辑。执行完第四步后,我无法在页面中看到templateDOM。
最佳答案
您可以在模板路径后面添加查询字符串(可能是Date.now()
的时间戳),例如:
$scope.templateDOM = '/tempalte/view.html?a=' + Date.now();
<div id="Template" ng-include="templateDOM"></div>
当查询字符串更改时,它将重新编译。只是,要重新编译时应设置路径
with Date.now()
。另一件事,我认为用jQuery删除元素不是一个好方法。相反,您可以使用ng-if将其从DOM中删除。
关于javascript - ng-include删除模板后,第二次未包含该模板,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44715922/