首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Angular 启用预加载

在使用路由延迟加载中,我们介绍了如何使用模块来拆分应用,在访问到这个模块的时候, Angular 加载这个模块。但这需要一点时间。在用户第一次点击的时候,会有一点延迟。...我们可以通过预加载路由来修复这个问题。路由可以在用户与其它部分交互的时候,异步加载延迟的模块。这可以使用户在访问延迟模块的时候更快地访问。 本文将在上一个示例的基础上,增加预加载的功能。...需要注意的是,Home 组件是提前加载的。我们将在系统启动之后渲染这个组件。 在 Angular 渲染 Home 组件之后,用户就可以与应用交互了,我们可以通过简单的配置在后台预加载其它模块。...启用预加载 我们在 forRoot 函数中,提供一个预加载的策略。...定制预加载策略 router 包中预定义了两个策略: 不预加载 NoPreloading 预加载所有模块 PreloadAllModules 5 秒之后加载模块 但是,您可以自己定义一个定制的策略。

1.5K00
您找到你想要的搜索结果了吗?
是的
没有找到

Angular 路由配置(预加载配置,懒加载配置)

loadChildren属性,告诉Angular路由依据loadChildren属性配置的路径去加载对应的模块。...这就是模块懒加载功能的具体应用,当用户访问 /xxx/** 路径的时候,才会加载对应的模块,这减少了应用启动时加载资源的大小。...这时就可以用预加载策略来解决这个问题。 Angular提供了两种加载策略, PreloadAllModules-预加载 NoPreloading-没有预加载(默认)。...//使用默认预加载-预加载全部模块 import { NgModule } from '@angular/core'; import { AppComponent } from '....,这时就需要自定义预加载策略 A.自定义-5秒后加载所有模块 在app组建的同级新建一个custom-preloading-strategy.ts文件 import { Route } from '@angular

3.1K30

Angular 不同种类 Module 的介绍

Routed NgModules 所有惰性加载模块都要用带路由的模块。使用该模块的顶级组件作为路由器导航路由的目标。带路由的模块不会导出任何内容,因为它们的组件永远不会出现在外部组件的模板中。...不要把惰性加载的带路由的模块导入到另一个模块中,因为这会触发一个急性加载,从而破坏了惰性加载它的目的。...带路由的模块很少有提供者,因为你只在需要的时候加载带路由的模块(例如通过路由导航过来时)。 provider 数组中列出的服务不可用,因为根注入器不可能预先知道惰性加载的模块。...Angular 的 HttpClientModule 是服务模块的一个典范。 只能使用根模块 AppModule 来导入各种服务模块。

59420

Java加载js

Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为true Android(Java)与JavaScript(HTML)交互有四种情况...: 1) Android(Java)调用HTML中js代码 2) Android(Java)调用HTML中js代码(带参数) 3) HTML中js调用Android(Java)代码 4) HTML中js...脚本设置 Android(Java)与js(HTML)交互的接口函数是: mWebView.addJavascriptInterface(getHtmlObject(), "jsObj");     /.../ jsObj 为桥连对象 Android容许执行js脚本需要设置: webSettings.setJavaScriptEnabled(true); (2) js(HTML)访问Android(Java...Java)访问js(HTML)代码 Android(Java)访问js(HTML)端代码是通过loadUrl函数实现的,访问格式如:mWebView.loadUrl("javascript: showFromHtml

8.8K80

Angular.js学习笔记 (一)

- angular中最重要的概念是指令(directive) - ng-model 是双向数据绑定的指令,效果就是将当前元素的value属性和模型中的[user.name]建立绑定关系 ### 模块(Module...) - 我们可以通过angular.module创建一个模块 - angular.module方法传递两个参数才是创建模块,一个参数是获取模块 ### 控制器(Controller) -常用方法://ng-app属性是使用ng的前提 //ng-controller属性放在包裹标签上,控制包裹内代码 js...不同点: AngularJS 表达式可以写在 HTML 中。 AngularJS 表达式不支持条件判断,循环及异常。 AngularJS 表达式支持过滤器。...### 解决ng在加载页面时先出现表达式的bug /* ng-cloak指令就是在NG执行完毕过后自动移除 */ [ng-cloak], .ng-cloak {

1.6K30

4、Angular JS 学习笔记 – 模块

你可以认为一个模块就是一个app的不同部分,controllers,services,filters,directives,等。 为什么?...大多数的应用有一个main方法实例化并且链接应用的不同部分。 Angular 应用没有main方法,而是使用模块声明指定一个应用如何可以自启动。...这种方式有几个优势: 陈述性的过程容易理解 你可以打包代码为一个可复用的模块 这个模块可以以任意的顺序加载(甚至可以并行加载)因为模块是延迟执行的。 单元测试只需要加载相关的模块,保持快速。...('xmpl.directive', []); angular.module('xmpl.filter', []); angular.module('xmpl', ['xmpl.service',...XmplController', function($scope, greeter, user){ $scope.greeting = greeter.greet(user.name); }); 模块的加载

90520

Angular JS + Express JS入门搭建网站

由此在项目不忙的时候,自己于是有时间和兴趣学习一下Angular JS与Express JS。   同时自己实现了一个最简单的Angular JS + Express JS的网站示例。 一....Angular JS   Angular JS是由谷歌员工开发,后由谷歌维护的一个项目,官网为:https://angularjs.org/。...但介绍一下Angular JS的几个重要概念: 1....建议使用另外一种方式,就是用Angular JS的另一个Module ng-route,做路由控制,针对不同的路径,在同一个文件中定义好各自的控制器。...这里Express JS有一个重要概念是中间件middleware,可以加载使用很多Express JS或其他模块提供的模块作为中间件,它的作用是处理http请求,一个中间件处理完,可以传递给下一个中间件

4.4K60
领券