javascript - 防止 ng-include 内容预加载,直到切换为显示

标签 javascript jquery html angularjs

这是我目前的代码:

<!-- main.html -->
<div ng-controller="MainController">
  <button type="button" ng-click="toggleImgView()">Show Images</button>
  <div ng-show="showImg">
    <ng-include src="'myTemplate.html'"></ng-include>
  </div>
</div>

<!-- myTemplate.html -->
<img ng-repeat="src in images" ng-src="{{ src }}/>

/* part of MainController */
$scope.images = [...];
$scope.showImg = false;
$scope.toggleImgView = function () {
  $scope.showImg = !$scope.showImg;
};

加载main.html时,由于$scope.showImg = false;myTemplate.html默认隐藏,然后我可以通过单击显示图像按钮来切换以显示它。

尽管myTemplate.html 被隐藏,但它仍然会加载到 DOM 中。它包含大量图像,这可能会导致网络流量过大。因此,我不想加载它,直到用户单击显示图像按钮来切换模板。

最佳答案

如果您使用 ng-if 而不是 ng-show DOM,并且指令(如其中的 ng-include)获胜不会被插入和编译。

关于javascript - 防止 ng-include 内容预加载,直到切换为显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33878295/

相关文章:

javascript - 如何从 json 对象创建下拉列表?

javascript - 通过 Redux 和 Axios 在 GET API 请求上返回 Promise 对象

javascript - HTML Canvas 。我的图像只有一半被翻转

javascript - 为什么字符串连接比数组连接更快?

javascript - IIS 8.5 中托管的 AngularJS html5Mode 路由问题

php - 使用 jquery 检查 php 数组中的复选框需要帮助

html - 保持元素可见,但防止溢出其父元素?

javascript - 想要在具有相同类的多个元素上添加 "addEventListener"

javascript - 如何在弹出窗口中使用 Codebird PHP 发布推文

jquery - 如何获取 anchor 标记的查询字符串