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

在@ViewChild变量中使用spyOn时出错

是因为@ViewChild装饰器用于获取模板中的元素或指令,并将其赋值给一个变量。而spyOn是Jasmine测试框架中的一个函数,用于监视函数的调用情况。

当在@ViewChild变量中使用spyOn时出错,可能有以下几个原因:

  1. @ViewChild装饰器未正确使用:确保在@ViewChild装饰器中指定了正确的选择器,以获取所需的元素或指令。例如,如果要获取一个名为"myElement"的元素,应该使用@ViewChild('myElement')。
  2. 元素或指令未正确引入:确保所需的元素或指令已正确引入到组件中。可以通过在组件的import语句中添加相应的引用来解决此问题。
  3. 元素或指令未正确声明:确保所需的元素或指令已在组件的模板中正确声明。可以在模板中使用相应的选择器来声明元素或指令。
  4. 元素或指令未正确命名:确保所需的元素或指令在模板中具有正确的名称。如果名称不匹配,@ViewChild装饰器将无法找到相应的元素或指令。
  5. spyOn函数未正确使用:确保spyOn函数正确使用,并将其应用于正确的函数。spyOn函数应该在测试用例中的beforeEach或it块中使用,并且应该指定要监视的函数。

综上所述,当在@ViewChild变量中使用spyOn时出错,需要检查@ViewChild装饰器的使用、元素或指令的引入和声明、命名是否正确,并确保spyOn函数正确使用。如果问题仍然存在,可以进一步检查测试环境的配置和依赖项是否正确。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

PHP如何使用全局变量的方法详解

有很多方法能够使这些数据成为全局数据,其中最常用的就是使用“global”关键字申明,稍后文章我们会具体的讲解到。...,可能就会导致其他部分出错。...开发的过程,你可能会知道知道每一个全局变量,但大概一年之后,你可能会忘记其中至少一般的全局变量,这个时候你会为自己使用那么多全局变量而懊悔不已。 那么如果我们不使用全局变量,我们该使用什么呢?...请求封装器 虽然我们的注册器已经使“global”关键字完全多余了,我们的代码还是存在一种类型的全局变量:超级全局变量,比如变量$_POST,$_GET。...虽然这些变量都非常标准,而且在你使用也不会出什么问题,但是某些情况下,你可能同样需要使用注册器来封装它们。 一个简单的解决方法就是写一个类来提供获取这些变量的接口。

7.2K100

如何验证Rust的字符串变量超出作用域自动释放内存?

讲动人的故事,写懂人的代码公司内部的Rust培训课上,讲师贾克强比较了 Rust、Java 和 C++ 三种编程语言变量越过作用域自动释放堆内存的不同特性。...席双嘉提出问题:“我对Rust的字符串变量超出作用域自动释放内存的机制非常感兴趣。但如何能够通过代码实例来验证这一点呢?”贾克强说这是一个好问题,可以作为今天的作业。...代码清单1-1 验证当字符串变量超出范围,Rust会自动调用该变量的drop函数// 使用 jemallocator 库的 Jemalloc 内存分配器use jemallocator::Jemalloc...代码清单1-2 验证当字符串变量超出范围,Rust不仅自动调用该变量的drop函数,还会释放堆内存// 使用 jemallocator 库的 Jemalloc 内存分配器use jemallocator...,通过使用 jemallocator 库的 Jemalloc 内存分配器,以及一个自定义的结构体 LargeStringOwner,验证了 Rust 当字符串变量超出范围,drop 函数会被自动调用并释放堆内存

20821

Linux教程 - Shell脚本声明和使用布尔变量示例

那么,如何在Linux服务器上运行的shell脚本声明和使用布尔变量呢? Bash没有布尔值。但是,我们可以根据需要将shell变量的值定义为0(“False”)或1(“True”)。...让我们看看如何在Bash组合这两个概念来声明布尔变量,并在运行在Linux、macOS、FreeBSD或类unix系统上的shell脚本中使用它们。...bash声明布尔变量 语法如下,定义如下内容 failed=0 # False jobdone=1 # True ## 更具可读性的语法 ## failed=false jobdone=true 现在...如何在Shell脚本声明和使用布尔变量(例如“ true”和“ false”) 当然,我们可以将它们定义为字符串,并使我们的代码更具可读性: #!...\"$1\" $alogs" fi 最后,删除$log文件: [ -f "$log" ] && rm -f "$log" 总结 本文我们讲解了如何在Linux或类Unix系统的shell脚本/bash声明和使用布尔变量

16K21

【译】Angular,向子组件传值的5种方式

本文,让我们跟随 accompanying demo app  的示例来阐述下面5个技术: @Input来响应变化的值 @ViewChild来设置属性 services中使用BehaviorSubjects...只需要添加input 装饰器到相应的属性,如下: @Input() price:number; 模板文件,它只是一个属性,你可以用  [ ] 来绑定它的值,也可以传入静态值。...ViewChild 使用ViewChild,你可以操作子组件内的属性以及方法。动态插入组件或元素,你可以通过子组件的类或模板引用变量的方式,来直接引用子组件,这技术就会得心应手。...要使用ViewChild,需要传入子组件的类或是模板引用变量,这样父组件内轻易的得到属性指向子组件。...这个声明只会查询组件内第一个PriceComponent的实例: @ViewChild(PriceComponent) priceComponent; 如果你的模板中使用引用变量: <app-price-component

2K20

【DB笔试面试806】Oracle,如何查找未使用绑定变量的SQL语句?

♣ 题目部分 Oracle,如何查找未使用绑定变量的SQL语句?...如果SQL已使用绑定变量或者CURSOR_SHARING,那么FORCE_MATCHING_SIGNATURE在对其进行标识将给出同样的签名。...⊙ 【DB笔试面试585】Oracle,什么是常规游标共享?⊙ 【DB笔试面试584】Oracle,如何得到已执行的目标SQL的绑定变量的值?...⊙ 【DB笔试面试583】Oracle,什么是绑定变量分级?⊙ 【DB笔试面试582】Oracle,什么是绑定变量窥探(下)?...⊙ 【DB笔试面试582】Oracle,什么是绑定变量窥探(上)?⊙ 【DB笔试面试581】Oracle,绑定变量是什么?绑定变量有什么优缺点?

6.2K20

Angular开发实践(七): 跨平台操作DOM及渲染器Renderer2

《Angular开发实践(六):服务端渲染》这篇文章的最后,我们也提到了服务端渲染需要牢记的几件事件,其中就包括不要使用window、 document、 navigator等浏览器特有的类型以及直接操作...通过 模板变量、@ViewChild 等方法获取DOM元素。...-- DIV的id:demoDiv --> 组件模板,我们 div 上定义了 #demoDiv 的模板变量,那么 demoDiv 就等于该 div 的 DOM 对象,因此我们可以通过 demoDiv.id...@ViewChild @ViewChild('demoDiv') demoDiv: ElementRef; // @ViewChild通过模板变量名获取 ngAfterViewInit() {...console.log('DIV的id:' + this.demoDiv.nativeElement.id); // DIV的id:demoDiv } 组件类,我们通过 @ViewChild 获取到包装有

2.6K90

angular框架如何实现父子组件传值、非父子组件传值

3.父组件通过@ViewChild主动获取子组件的数据和方法 angular也提供了一个@Output修饰器来实现子组件给父组件传值,但是这个方法是较复杂的,我们使用另一种@ViewChild方法来实现...调用子组件,给子组件定义一个名称 #号后面加一个变量名,组成模板变量 父组件引入viewChild: import {...@viewChild("msg") msg:any; } 下面就可以使用msg来调用子组件通过msg传过来的数据 父组件通过msg调用子组件数据即可 下面看实际操作: 第一步:引入子组件的命令声明模板变量...第二步:子组件定义好数据 第三步:父组件使用viewChild接收子组件数据 第四步:这时可以父组件的ts文件或模板文件中使用子组件所有数据或方法 注意:可以父组件通过...service:定义一个服务,将不同组件使用相同的函数用一个服务包裹,则可以不同组件引入这个服务来公用同一方法。

1.5K20

Angular2 之 单元测试

it方法的几个函数 写单元测试,it里经常会有几个常见的方法,async(),fakeAsync(),tick(),jasmine.done()方法等。...实际上,“stable”的意思是当所有待处理异步行为完成的状态,“stable”后whenStable承诺被解析。...---- 自己遇到的坑儿 下面都是自己实际的编写单元测试,真实遇到的问题,自己真的是在这上面花费了很多时间啊!!!为什么没有说花冤枉时间呢?...第二点就是模拟的时候,我竟然傻傻的自己去spec文件自己去new了BaseDataRemoteService,所以我根本没有办法去执行spyOn(foo, "getBar")这样的模拟,然后就是一直的出错...其实不是代码写的有问题,是单元测试写的有有问题,第一个expect去判断的时候,第二个 service.getRelatedList已经执行完了,所以才会出错

5.5K20

反思录:Angular实现svg和png图片下载

我经常思考,面临一个不确定问题,以往的经验究竟有无辅助作用?如果把经验遗忘会产生何种程度的影响?在上下求索未果之后,如何找回曾经的感觉,恰若灵光一现?...获取元素 Angular中提供一种叫做ViewChild的注解,可以帮助我们引用到页面的svg元素,此处就是#template....比如说我们要获取元素的各项属性,就需要使用SVGSVGElement编程接口。 svg转换成png并不直接,但是我们知道canvas转换成png非常简单。...第一反应是我是不是写错了变量名,再三验证之后发现没有写错。然而这一步其实完全没必要,原因在于这些变量都是编辑器辅助补全的。...toPng方法外,我插入console.log(this.sanitizer),发现这个对象完好地出现在命令行,此刻突然灵感一现,回忆起几年前写过一篇关于Javascript作用于的文章[5],可不就是

2.7K40

angular知识点梳理第三篇-组件

声明一个变量 【parent.component.ts】 第二步:父组件的html视图层文件引入子组件 【parent.component.html】 第三步:子组件的ts文件中使用@Input...进行接收父组件的值 【children.component.ts】 第四步:子组件的视图层文件中进行变量值的获取 【children.component.html】 传递整个父组件 父组件的视图层文件实现...进行节点获取 第一步:父组件引入子组件的地方添加节点值 【parent.component.html】 第二步:子组件声明一些需要传递的变量 【children.component.ts】 第三步...:父组件的ts文件引入viewchild模块 【parent.component.ts】 方案二:通过@Output触发父组件的方法 第一步:子组件ts文件引入angular的核心模块的output...ts文件中使用@Input进行接收父组件的值 【children.component.ts】 //这里我们需要引入angular核心模块的Input模块进行接收父组件的变量值 import { Component

2.2K10

掌握 C# 变量代码声明、初始化和使用不同类型的综合指南

C# ,有不同类型的变量(用不同的关键字定义),例如: int - 存储整数(没有小数点的整数),如 123 或 -123 double - 存储浮点数,有小数点,如 19.99 或 -19.99...这将声明变量为“常量”,这意味着它是不可更改且只读的: const int myNum = 15; myNum = 20; // 错误 当您希望一个变量始终存储相同的值,以防他人(或自己)破坏您的代码...存储值 6 然后我们使用 WriteLine() 方法来显示 x + y 的值,即 11 C# 多个变量 声明多个变量: 要声明同一类型的多个变量,请使用逗号分隔的列表: int x = 5, y =...(x + y + z); 第一个示例,我们声明了三个 int 类型的变量(x、y 和 z),并为它们赋了不同的值。...第二个示例,我们声明了三个 int 类型的变量,然后将它们都赋予了相同的值 50。 C# 标识符 所有的 C# 变量都必须使用唯一的名称来标识。 这些唯一的名称被称为标识符。

28510
领券