gpt4 book ai didi

javascript - 在 Angular.js 单元测试中,是否约定在 '$' 前面省略 'scope' 而不是 '$rootScope'(或其他注入(inject)服务)?

转载 作者:行者123 更新时间:2023-12-02 18:01:26 25 4
gpt4 key购买 nike

我注意到,在许多人的 Angular 单元测试示例中,他们省略了作用域前面的“$”,如下所示:

// in beforeEach(inject(function() {})) call
scope = $rootScope.$new();
var ctrl = $controller({
'$scope' : scope
});

为什么这个约定会被一些人采用?在 Angular 文档中,他们似乎没有对此大惊小怪,或者根本没有提及。

最佳答案

长话短说,“$”位于注入(inject)代码中的服务/变量前面($rootScope、$scope、$http 等)。因此,因为您在测试中使用作用域作为局部变量,所以按照惯例,它前面没有“$”,因为它不会注入(inject)到您的代码中,而 $rootScope 总是如此。

有关更多说明,请参见此处:https://www.youtube.com/watch?v=NnB2NBtoeAY

本质上,命名并不重要,但它是为了让你的代码更具可读性。

关于javascript - 在 Angular.js 单元测试中,是否约定在 '$' 前面省略 'scope' 而不是 '$rootScope'(或其他注入(inject)服务)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20500045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com