小编Amr*_*rit的帖子

仅运行一次 Angular 更改检测并停止检测该组件的更改

我只需要在加载组件或路由发生变化时检测一次角度变化,然后我想停止检测变化。

实际上我需要根据用户角色显示和隐藏功能。所以我*ngIf在一个 html 模板中有很多,但是我只需要在*ngIf第一次加载模板时检查一次条件,然后停止检测更改,因为它会影响性能。

我希望页面在单次更改检测后像静态一样。

例如 :

       <li *ngIf="doesHavePermission('templateName')">
       </li>
Run Code Online (Sandbox Code Playgroud)

应该检查一次,但我看到的是它正在多次检查单身的变化*ngIf,我有很多*ngIf这样的:

我发现markForCheck()detach()这个角文档中https://angular.io/api/core/ChangeDetectorRef

但他们正在做的是他们要么允许所有更改检测,要么根本不允许,

而且我只需要检测一次更改并在此之后停止。

我们可以在角度上进行单次时间变化检测吗?

或者有更好的方法来处理场景吗?

performance typescript angular2-changedetection angular angular-changedetection

3
推荐指数
1
解决办法
3797
查看次数

将额外的参数传递给scrapy.Request()

实际上我想将与特定网站相关的所有数据(文本,参考,图像)存储到一个文件夹中。为此,我需要将该文件夹的路径传递给所有不同的解析函数。所以我想传递此路径scrapy.Request()像这样额外的垃圾:

yield scrapy.Request(url=url,dont_filter=True, callback=self.parse,errback = self.errback_function,kwargs={'path': '/path/to_folder'})

但是它给出了错误 TypeError: __init__() got an unexpected keyword argument 'kwargs'

如何将该路径传递给下一个功能?

python scrapy scrapy-spider

1
推荐指数
1
解决办法
1922
查看次数