当前位置: 首页 > 面试题库 >

使用AngularJS路由时是否可以预加载模板?

从建明
2023-03-14
问题内容

加载Angular应用后,我需要一些模板可以脱机使用。

这样的事情将是理想的:

$routeProvider
  .when('/p1', {
    controller: controller1,
    templateUrl: 'Template1.html',
    preload: true
  })

问题答案:

有一个 模板缓存服务 :$
templateCache
,可用于在javascript模块中预加载模板。

例如,取自文档:

var myApp = angular.module('myApp', []);
  myApp.run(function($templateCache) {
  $templateCache.put('templateId.html', 'This is the content of the template');
});

甚至还有一个艰巨的任务,可以从html文件中预先生成一个javascript模块:grunt-angular-
templates

另一种可能不太灵活的方法是使用 内联模板 ,例如,在index.html中具有如下脚本标记:

<script type="text/ng-template" id="templates/Template1.html">template content</script>

表示可以稍后以与路由配置(templateUrl: 'templates/Template1.html')中的真实网址相同的方式对模板进行寻址



 类似资料:
  • 问题内容: 是否可以预加载所有页面内容(例如显示加载栏/动态gif ..或加载文本..),直到内容完全加载然后显示给用户/访问者为止?如果可以的话,您能给我一些指导或资源以实现这一目标。因为我能够轻松找到图像预加载器,但是我正在寻找一种预加载技术,该技术可以在显示之前预加载页面上的所有内容。 问题答案: 无需为此使用Ajax。只需将页面的包装器div设置为即可。然后将其更改为加载 文档时。 __

  • 我用 react 写了一个页面,在这个页面里有几个模块,其中一些模块都有 a 标签,比如 footer.jsx 我想实现的是,当点击这里的 blog 或者 help 后会访问对应的页面,blog 访问 /blog,help 访问 /help。 然后在各自的页面里,可以重定向到其它的页面去,比如 blog -> /blog -> https://blog.domain.com help -> /he

  • 我有一个带有路由器插座的根应用程序组件,并且路由是从家庭模块路由加载的,该路由在其子路由中使用延迟加载和 loadchildren。家庭组件中有一个路由器插座,在家庭的所有子模块中也有延迟加载的路由器插座。路由工作正常,但子路由也加载到根路由器出口中。例如:- 组件“testCreateComponent”正在加载localhost:4200 / test/create和localhost:420

  • 问题内容: 是否可以仅针对XHR请求限制Symfony 2路由?我想声明只能通过AJAX访问的路由。 我不想像这样在每个AJAX特定操作中添加一些额外的行: 我想定义: AJAX请求的一条规则 对相同URL进行GET / POST请求的一条规则 为了避开上述情况。 问题答案: 我知道这个问题有点老,但是与此同时 ,Symfony 2.4* 中引入 了 一种 新的解决方法 。 * 匹配表达式 对于a

  • 问题内容: 基本路线是这样的: 是否可以命名该路由并在任何模板中使用它,以便可以像这样使用它: 灵感来自Django :) 问题答案: 没有开箱即用的机制。但是,您可以模仿Django的样式:定义文件,该文件将包含URL数组。首先开始: myviews.js urls.js 现在在 app.js (或任何主文件)中,您需要将URL绑定到Express。例如这样: app.js 现在,您可以定义自定

  • 我们有一个web应用程序,我们想在“批处理”模式下运行,在这种模式下,我们不希望任何endpoint暴露(出于安全原因)。 这在SpringBoot可能吗?