【问题标题】:how to reload template in ng-include angularjs如何在 ng-include angularjs 中重新加载模板
【发布时间】:2014-11-08 21:19:23
【问题描述】:

我想使用 ng-include 重新加载页面中包含的模板

<div ng-include="exercise_tpl.url"></div>

我可以通过加载空白模板并像这样再次加载以前的模板来做到这一点

$scope.exercise_tpl.url = 'partials/blank.html';
        $('body').trigger('click');
        setTimeout(function() {
            $scope.exercise_tpl.url = 'partials/memory.html';
            $('body').trigger('click');
        }, 300);

我想知道在 Angularjs 中重新加载模板的正确方法。请帮忙。

【问题讨论】:

  • $('body').trigger('click'); 那是什么?
  • 我使用触发事件来刷新页面内容。类似于 $digest

标签: javascript html angularjs


【解决方案1】:

模板被缓存,如果用户没有进入页面的权限,那么这个检查应该在它到达控制器之前或之后在控制器内完成,而不是在模板检索时完成

如果这是您想要遵循的方式,那么您需要在调用 reload 之前从 $templateCache 中删除模板,例如:

var currentPageTemplate = $route.current.templateUrl;
$templateCache.remove(currentPageTemplate);
$route.reload();

【讨论】:

  • 好答案,但 OP 不使用路由。
  • 是的,我没有使用路由。这只是简单的 ng-include
猜你喜欢
  • 1970-01-01
  • 2014-06-16
  • 1970-01-01
  • 1970-01-01
  • 2017-12-05
  • 2016-12-24
  • 1970-01-01
  • 1970-01-01
  • 2013-12-03
相关资源
最近更新 更多