$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/

10-13 01:37