在这里,我们将给大家分享关于angularjs$超时没有延迟参数原因的知识,让您更了解angular设置请求超时时间的本质,同时也会涉及到如何更有效地angulajsangularjs$timeout
在这里,我们将给大家分享关于angularjs $超时没有延迟参数原因的知识,让您更了解angular设置请求超时时间的本质,同时也会涉及到如何更有效地angulajs angularjs $timeout没有延迟参数的原因、angular – 在没有延迟加载的情况下路由到子路由模块、angularjs $timeout没有延迟参数的原因、angularjs – angular / jasmine:错误:没有要刷新的延迟任务的内容。
本文目录一览:- angularjs $超时没有延迟参数原因(angular设置请求超时时间)
- angulajs angularjs $timeout没有延迟参数的原因
- angular – 在没有延迟加载的情况下路由到子路由模块
- angularjs $timeout没有延迟参数的原因
- angularjs – angular / jasmine:错误:没有要刷新的延迟任务
angularjs $超时没有延迟参数原因(angular设置请求超时时间)
在一些脚本中,我可以找到例如
$timeout(function () { $scope.my = 1; });
而不是简单
$scope.my = 1;
立即调用$ timeout的目的是什么?
答案1
小编典典这是一个hack。:)但通常的目的是等待$digest
周期结束,然后设置$scope.my
为1
。完成所有监视后,将调用超时。
angulajs angularjs $timeout没有延迟参数的原因
$timeout(function () { $scope.my = 1; });
而不是简单
$scope.my = 1;
调用$ timeout没有延迟的目的是什么?
angular – 在没有延迟加载的情况下路由到子路由模块
我有以下两个路由文件.
APP-routing.module.ts:
import { NgModule } from '@angular/core'; import { Routes,RouterModule } from '@angular/router'; const routes: Routes = [ { path: '',component: HomeComponent },{ path: 'sub',loadChildren: './sub/sub.module#SubModule' } ]; @NgModule({ imports: [RouterModule.forRoot(routes)],exports: [RouterModule] })
子routing.module.ts:
import { NgModule } from '@angular/core'; import { Routes,component: SubComponent,children: [ { path: 'new',component: SubeditComponent } ] },]; @NgModule({ imports: [RouterModule.forChild(routes)],exports: [RouterModule] })
它的工作方式很好,但我不想对这个SubComponent应用延迟加载.所以,理想情况下我想将app-routing.module.ts更改为:
import { NgModule } from '@angular/core'; import { Routes,component: SubComponent } ]; @NgModule({ imports: [RouterModule.forRoot(routes)],exports: [RouterModule] })
这将不起作用,并导致以下错误:
ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'sub/new' Error: Cannot match any routes. URL Segment: 'sub/new'
SubComponent的大小会大幅增加,我不想因为自己的原因而应用延迟加载.所以无论如何,有没有办法在避免延迟加载的同时使用多个路由文件?
解决方法
{path:’sub’,loadChildren :()=>子模块}
你可以找到更多细节here.
angularjs $timeout没有延迟参数的原因
$timeout(function () { $scope.my = 1; });
而不是简单
$scope.my = 1;
没有延迟地拨打$timeout的目的是什么?
angularjs – angular / jasmine:错误:没有要刷新的延迟任务
Error: No deferred tasks to be flushed
我需要测试的代码是在$timeout内
$timeout(function () { $window.doStuff(); });
因此,当我想检查doStuff是否被调用时,我做了
$timeout.flush(); expect($window.doStuff).toHaveBeenCalled();
但是,现在我需要测试一种我不希望调用doStuff的情况.所以我做了:
$timeout.flush(); expect($window.doStuff).not.toHaveBeenCalled(); // Notice the not here!!
但是,因为没有调用$timeout,$timeout.flush()给了我这个错误.
所以问题是,测试这种情况的首选方法是什么?
解决方法
检查角度文档here:
Verifies that there are no pending tasks that need to be flushed.
关于angularjs $超时没有延迟参数原因和angular设置请求超时时间的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于angulajs angularjs $timeout没有延迟参数的原因、angular – 在没有延迟加载的情况下路由到子路由模块、angularjs $timeout没有延迟参数的原因、angularjs – angular / jasmine:错误:没有要刷新的延迟任务的相关信息,请在本站寻找。
本文标签: