我想在实例化angular2组件时调用一个函数,但是我收到以下错误:
TypeError:self.context.dummyFunc不是函数
TypeError:self.context.dummyFunc不是函数
以下是一个人为的例子,但会告诉你我的问题.
假设我们有以下组件:
import { Component } from '@angular/core'; @Component({ selector: 'myItem',template: `<div>This will work->{{dummyFunc()}}</div>`,}) export class myItemComponent { constructor() { } dummyFunc() :string { return "bold"; } }
以下HTML:
< ul myItem [ngClass] ='dummyFunc()'>< / ul>
将生成以下异常:
TypeError: self.context.dummyFunc is not a function
如果我将HTML更改为:
< ul myItem>< / ul>
该组件运行并能够调用其中的dummyFunc函数
< DIV>
我假设在组件myItem的上下文中没有调用dummyFunc(),而是实例化myItem的组件.
实际上,当你在ul元素上使用dummyFunc时,你就在myItem组件之外.所以你不能使用它.您只能访问与当前模板关联的组件的属性和方法.
如果要使用此模板中使用的组件的方法,则需要首先引用它.您可以尝试以下方法:
<ul #comp myItem [ngClass]="comp.dummyFunc()"></ul>
原文地址:https://www.jb51.cc/angularjs/141334.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。