草庐IT

angular-dom-sanitizer

全部标签

javascript - 如何在 Angular 中等待守卫

如果我在一条路线上指定了三个守卫,似乎所有守卫都会被立即评估。{路径:'',组件:OptionsComponent,canActivate:[GuardOne,GuardTwo,GuardThree]}我遇到的问题是我不希望GuardTwo在GuardOne完成之前运行。有什么办法可以实现吗? 最佳答案 我认为这在4.1.3中是不可能的。Here是运行守卫的代码:privaterunCanActivate(future:ActivatedRouteSnapshot):Observable{constcanActivate=futur

javascript - Angular 的 $log.debug() 没有显示在 Chrome 的控制台上

最近我的Chrome浏览器停止在控制台上显示$log.debug()消息。我一直在我的所有Controller上使用这种使用Angular而不是console.log()的日志记录方式,因为当我将脚本上传到生产服务器时很容易禁用日志记录。我已经检查了我的$logProvider配置并且debugEnabled()设置为true。出于某种原因,在chrome上显示$log.debug()消息的唯一方法是在控制台过滤器上启用verbose消息。直到最近,这还没有必要。启用详细信息并不好,因为控制台会吐出许多我不关心的其他消息。我目前在Windows7机器上使用Chromev60.0.311

javascript - Angular 4 : Cannot instantiate cyclic dependency! InjectionToken_HTTP_INTERCEPTORS

我知道,这个问题可能听起来很重复,我已经尝试了在stackoverflow上找到的所有方法都无法解决这个问题,所以请耐心等待为了让您能够重现错误,我为您提供了完整的代码GithubRepo问题我收到以下错误:Providerparseerrors:↵Cannotinstantiatecyclicdependency!InjectionToken_HTTP_INTERCEPTORS("[ERROR->]"):inNgModuleAppModulein./AppModule@-1:-1场景相关信息(注释)注1文件:response-interceptor.service.ts路径:./sr

javascript - Angular 单元测试 : Error: Cannot match any routes. URL 段: 'home/advisor'

我正在我的angular4.0.0应用程序下进行单元测试,我的真实组件中的一些方法正在通过以下方式调用手动路由:method(){....this.navigateTo('/home/advisor');....}withnavigateTo是一个自定义路由方法,调用它:publicnavigateTo(url:string){this.oldUrl=this.router.url;this.router.navigate([url],{skipLocationChange:true});}我有这个路由文件:import...//Componentsanddependenciescon

javascript - 更改属性时延迟渲染 dom 元素

我目前在一次更新大量dom元素的属性时遇到性能问题。似乎每次我更改属性时,dom元素都会重新呈现。无论如何我可以延迟元素的渲染,直到我的所有更新都发生了吗?它在FF3和3.5中似乎比IE7和8慢很多,这与我的预期相反。下面是我正在做的一个例子。vart;for(vari=0;i问题是“tiles”中的项目数最多可以有100个dom元素。这才是性能问题真正体现出来的地方。 最佳答案 同意@Crimson但我认为最好隐藏您要更新的所有元素的父级,如果它们没有独占父级,请尝试创建一个。这样只有两个reflows会发生,一个发生在您隐藏ti

javascript - 自执行功能是否准备好在 dom 上运行?

在我听说自执行函数之前,我总是这样做:$(document).ready(function(){doSomething();});functiondoSomething(){//blah}自执行函数会产生同样的效果吗?它会在dom上运行吗?(functiondoSomething($){//blah})(jQuery); 最佳答案 没有。当Javascript引擎找到它时,一个自执行函数就会运行。但是,如果您在结束前将所有代码放在文档末尾标记(即highlyrecommended),那么您不必等待DOM准备就绪,因为您已经自动完成了

javascript - 从内存中移除 HTML 元素(DOM 节点)

根据mdndocumentationremoveChild方法从DOM中删除一个节点,但它仍然驻留在内存中。我的问题是我也想从内存中删除它。我已经尝试使用delete运算符,但对象仍然存在...myCanvas.parentElement.removeChild(myCanvas);//myCanvasactuallyremovedfromDOMdeletemyCanvas;//false.doesnothingalert(myCanvas);//showsHTMLCanvasElementinsteadofundefined 最佳答案

javascript - 如何检查 Backbone.View 当前是否在 DOM 中呈现?

我想检查Backbone.View当前是否在DOM中呈现,如果没有,我不必重新呈现它。我能以某种方式检查吗?问候 最佳答案 好吧,理论上您可以查询DOM来找出答案,但这比仅仅设置一个实例变量并在渲染之前查询它要慢得多。另一方面,渲染方法(假设一切设置正确)只应在模型更改时调用,因此您的问题表明您可能没有按照应有的使用方式(MVC样式)使用View.但假设您需要这样做,设置一个this.rendered=true并在您的渲染方法中再次渲染之前检查它可能是最快和最简单的。 关于javascr

javascript - 将 Angular.js 应用于 Chrome 扩展内容脚本中的新 DOM 元素

好的,我已经研究了一段时间了。在红色框中,我想要一些Angular功能(ng-repeats、数据绑定(bind)等...)双击任何网页上的文本时会出现此红色框。但是,我似乎无法找到如何实际连接/连接到红色弹出窗口中的文本框示例的Angular。在chrome的徽章弹出窗口以及选项页面等中使用angular似乎相当微不足道......但我似乎无法在这种情况下让它工作。inject.js(作为内容脚本包含在list中,如下)vardisplayPopup=function(event){varmydiv=document.createElement('div');var$div=$('#

javascript - 如何更新 Angular 数组中的现有项(已在外部更改)?

我是Angular的新手,正在努力更新我的Angular数组中已在外部更改(不是通过Angular支持的UI)的现有项目。这是用例...我的网页是通过服务器端调用填充的,我正在将数组加载到Angular中并显示在列表中。现在,如果服务器上的数据发生变化并且在表中插入了一条新记录,我的页面的JavaScript会收到通知,它会通过“推送”(引用ProgrammaticallyinsertingarrayvaluesinAngularJS)成功地将一条新记录插入到Angular数组中。但是,当现有记录发生更改时(在服务器端/不是通过Angular支持的UI),我的页面也会收到通知。我对如何