本文介绍了typeError: 无法读取属性 'tigerStart'未定义的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
- 我是 typescript 和 angular js 的新手.
- 我试图在我的代码中包含另一个组件代码.
- 这是我的代码中的 baby.js 代码
- 但是我遇到了错误.类型错误:无法读取未定义的属性tigerStart"
- 你们能告诉我如何修复它吗.
- 在下面提供我的代码
TypeError: 无法读取未定义的属性 'tigerStart'在 init.open (pen-pencil.ts:1270)在 init.trigger (kendo.all.min.js:25)在 init.open (kendo.all.min.js:45)在 Penguin.openPopup (pen-pencil.ts:1286)在 penguin.pencilClicked (headset.ts:689)在 _View_penguin4._handle_click_45_0 (penguin.ngfactory.js:4087)在 eval (core.umd.js:9698)在 eval (platform-browser.umd.js:1877)在 eval (platform-browser.umd.js:1990)在 ZoneDelegate.invoke (zone.js:203)
在整个js代码中包含tigerStart方法
@ViewChild(sports) 公共天空:体育;
that.window = $("#PenguinPopup");that.window.kendoWindow({宽度:60%",标题:假的,可见:假,可调整大小:假,行动:[],可拖动:假,模态:真,打开:函数(){$("html, body").css("溢出", "隐藏");that.isVisible = true;$('.kPopUpTitle').html(values.title);this.sky.tigerStart();
在我的 html 中包含鱼组件
<div class="clearFloat"></div><ul class="kendu-custom-contextmenu" id="context-menuFinancialSearch"><li class="kPopUpBtnTriple">查看详情</li><li class="kPopUpBtnTriple">管理文档</li><financeLeftSlider (savedSearchData)='getSaveEvent($event)'></financeLeftSlider><鱼></鱼><企鹅 (documentCount)='getDocumentEvent($event)'></Penguin><体育></体育><div class="searchNameRequiredPopup"><div class="pipepobUpBox pipeWindow kPopupConfirmationBox"><div class="row pipePopUpGridCollection pipePopUpContent lineHeightInputs"><div class="pipeContent">请输入搜索名称.</div>
<div class="clearFloat"></div><div class="row pipePopUpFooter textAligncenterImp"><!-- <button class="commonBtn" type="button" id ="deleteDocumentYes">Yes</button>--><button class="clearBtn" type="button" id="searchNameRequiredBtn">好的</button>
<div class="clearFloat"></div>
baby.html
<div id="baby"></div><div id="baby1"></div>
baby.js
@Component({模块 ID:module.id,选择器:'体育',templateUrl: 'sports.html'})出口类星{老虎开始():无效{kendo.ui.sky($("#baby"), true);}老虎结束():无效{kendo.ui.sky($("#baby"), false);}虎开始1():无效{kendo.ui.sky($("#baby1"), true);}TigerEnd1():无效{kendo.ui.sky($("#baby1"), false);}}
- 当我打印这个时我没有看到天空,所以我阅读了中等格式并尝试使用粗箭头和绑定,但我仍然无法实现它.
- 在视图中我正在使用运动
- 你能告诉我如何修复它吗.
- 以便将来它会有所帮助
https://medium.com/@thejasonfile/es5-functions-vs-es6-fat-arrow-functions-864033baa1a
@ViewChild(sports) 公共天空:体育;**- 尝试使用粗箭头**打开:() =>{**- 尝试绑定**this.sky.tigerStart().bind(this);
解决方案
你可以这样调试:
- 首先,您应该确保具有属性键
tigerStart
的对象实际上返回的是一个对象,而不是未定义".
示例:假设 tiger
是一个具有键为 tigerStart
的属性的对象.
{老虎": {老虎开始":真}}如果(老虎类型!= '未定义'){/* 你的代码在这里 */}
- I am new to typescript and angular js.
- I tried to include another component code into my code.
- which is baby.js code into my code
- but I am getting an error. TypeError: Cannot read property 'tigerStart' of undefined
- can you guys tell me how to fix it.
- providing my code below
TypeError: Cannot read property 'tigerStart' of undefined
at init.open (pen-pencil.ts:1270)
at init.trigger (kendo.all.min.js:25)
at init.open (kendo.all.min.js:45)
at Penguin.openPopup (pen-pencil.ts:1286)
at penguin.pencilClicked (headset.ts:689)
at _View_penguin4._handle_click_45_0 (penguin.ngfactory.js:4087)
at eval (core.umd.js:9698)
at eval (platform-browser.umd.js:1877)
at eval (platform-browser.umd.js:1990)
at ZoneDelegate.invoke (zone.js:203)
including tigerStart method into whole js code
@ViewChild(sports) public sky: sports;
that.window = $("#PenguinPopup");
that.window.kendoWindow({
width: "60%",
title: false,
visible: false,
resizable: false,
actions: [],
draggable: false,
modal: true,
open: function() {
$("html, body").css("overflow", "hidden");
that.isVisible = true;
$('.kPopUpTitle').html(values.title);
this.sky.tigerStart();
including fish component into my html
<div class="clearFloat"></div>
<ul class="kendu-custom-contextmenu" id="context-menuFinancialSearch">
<li class="kPopUpBtnTriple">View Details</li>
<li class="kPopUpBtnTriple">Manage Documents</li>
</ul>
<financeLeftSlider (savedSearchData)='getSaveEvent($event)'></financeLeftSlider>
<Fish></Fish>
<Penguin (documentCount)='getDocumentEvent($event)'></Penguin>
<sports></sports>
<div class="searchNameRequiredPopup">
<div class="pipepobUpBox pipeWindow kPopupConfirmationBox">
<div class="row pipePopUpGridCollection pipePopUpContent lineHeightInputs">
<div class="pipeContent">Please enter the search name.</div>
</div>
<div class="clearFloat"></div>
<div class="row pipePopUpFooter textAligncenterImp">
<!-- <button class="commonBtn" type="button" id ="deleteDocumentYes">Yes</button> -->
<button class="clearBtn" type="button" id="searchNameRequiredBtn">Ok</button>
</div>
<div class="clearFloat"></div>
</div>
</div>
baby.html
<div id="baby"></div>
<div id="baby1"></div>
baby.js
@Component({
moduleId: module.id,
selector: 'sports',
templateUrl: 'sports.html'
})
export class Star {
tigerStart(): void {
kendo.ui.sky($("#baby"), true);
}
tigerEnd(): void {
kendo.ui.sky($("#baby"), false);
}
tigerStart1(): void {
kendo.ui.sky($("#baby1"), true);
}
tigerEnd1(): void {
kendo.ui.sky($("#baby1"), false);
}
}
- when I print this I didn't see sky, so I read the medium form and tried with fat arrow and bind but still I am not able to achived it.
- in the view child I am using sports
- can you tell me how to fix it.
- so that for future it will be helpful
https://medium.com/@thejasonfile/es5-functions-vs-es6-fat-arrow-functions-864033baa1a
@ViewChild(sports) public sky: sports;
**- tried with fat arrow**
open: () => {
**- tried with bind**
this.sky.tigerStart().bind(this);
解决方案
You can debug like this :
- First, you should make sure that an object having property key
tigerStart
actually returns an object and not "undefined".
Example : Suppose tiger
is an object having property with key tigerStart
.
{
"tiger": {
"tigerStart": true
}
}
if (typeof tiger != 'undefined') {
/* Your code comes here */
}
这篇关于typeError: 无法读取属性 &#39;tigerStart&#39;未定义的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!