绑定元素 'index' 隐式具有 'any' 类型
Binding element 'index' implicitly has an 'any' type
使用 demo project of angular2-mdl 作为指南,我移植了选项卡组件并尝试按如下方式实现它:
import { Component } from '@angular/core';
@Component({
selector: 'my-dashboard',
templateUrl: './landing.my.html'
})
export class MyDashboard {
public activeIndex = 0;
public tabChanged({index}): void {
this.activeIndex = index;
}
}
模板是:
<mdl-tabs mdl-ripple mdl-tab-active-index="0" (mdl-tab-active-changed)="tabChanged($event)">
<mdl-tab-panel mdl-tab-panel-title="home">
<mdl-tab-panel-title>
<mdl-icon class="mdl-color-text--primary">home</mdl-icon><span>Home</span>
</mdl-tab-panel-title>
<mdl-tab-panel-content>
<ul>
<li>Stanis</li>
<li>Joffrey</li>
</ul>
</mdl-tab-panel-content>
</mdl-tab-panel>
<mdl-tab-panel mdl-tab-panel-title="something">
<mdl-tab-panel-title>
<mdl-icon class="mdl-color-text--primary">group_work</mdl-icon><span>Ontology</span>
</mdl-tab-panel-title>
<mdl-tab-panel-content>
<ul>
<li>Stanis</li>
<li>Joffrey</li>
</ul>
</mdl-tab-panel-content>
</mdl-tab-panel>
<mdl-tab-panel mdl-tab-panel-title="another">
<mdl-tab-panel-title>
<mdl-icon class="mdl-color-text--primary">list</mdl-icon><span>Cognitive</span>
</mdl-tab-panel-title>
<mdl-tab-panel-content>
<ul>
<li>Robert</li>
</ul>
</mdl-tab-panel-content>
</mdl-tab-panel>
<mdl-tab-panel mdl-tab-panel-title="else">
<mdl-tab-panel-title>
<mdl-icon class="mdl-color-text--primary">call_split</mdl-icon><span>Cognition</span>
</mdl-tab-panel-title>
<mdl-tab-panel-content>
<ul>
<li>Robert</li>
<li>Renly</li>
</ul>
</mdl-tab-panel-content>
</mdl-tab-panel>
<mdl-tab-panel mdl-tab-panel-title="last">
<mdl-tab-panel-title>
<mdl-icon class="mdl-color-text--primary">backup</mdl-icon><span>Streaming</span>
</mdl-tab-panel-title>
<mdl-tab-panel-content>
<ul>
<li>Joffrey</li>
<li>Myrcella</li>
<li>Tommen</li>
</ul>
</mdl-tab-panel-content>
</mdl-tab-panel>
</mdl-tabs>
我正在使用 webpack,但出现以下错误:
ERROR in [default] home/my-app-ui/src/app/landing.my.ts:10:23
Binding element 'index' implicitly has an 'any' type.
但是应用程序显示所需的功能,有人可以解释如何解决这个问题吗?
使用 any
或特定类型的变量,如(数字、字符串等)
public tabChanged(index:any): void {
this.activeIndex = index;
}
这是对类型脚本编译器的检查。您可以删除检查或在声明中明确指定 any 类型(@Thyagu 的回答)。
在 tsconfig.json
文件中,您可以更改行
"noImplicitAny": false,
至
"noImplicitAny": true,
对于对象,需要声明类型为
{index} : {index:any}
"suppressImplicitAnyIndexErrors": true //tsconfig.json
即使 noImplicitAny 标志为 true,您也可以将变量的类型设置为 any。
对于一个对象,你需要这样声明
使用一个道具:
{propA} : {propA:any}
不止一个道具:
{propA, propB} : {propA:any, propB:any}
在 tsconfig.json 文件的 compilerOptions
内添加 suppressImplicitAnyIndexErrors
。示例:
"compilerOptions": {
"suppressImplicitAnyIndexErrors": true
}
使用 demo project of angular2-mdl 作为指南,我移植了选项卡组件并尝试按如下方式实现它:
import { Component } from '@angular/core';
@Component({
selector: 'my-dashboard',
templateUrl: './landing.my.html'
})
export class MyDashboard {
public activeIndex = 0;
public tabChanged({index}): void {
this.activeIndex = index;
}
}
模板是:
<mdl-tabs mdl-ripple mdl-tab-active-index="0" (mdl-tab-active-changed)="tabChanged($event)">
<mdl-tab-panel mdl-tab-panel-title="home">
<mdl-tab-panel-title>
<mdl-icon class="mdl-color-text--primary">home</mdl-icon><span>Home</span>
</mdl-tab-panel-title>
<mdl-tab-panel-content>
<ul>
<li>Stanis</li>
<li>Joffrey</li>
</ul>
</mdl-tab-panel-content>
</mdl-tab-panel>
<mdl-tab-panel mdl-tab-panel-title="something">
<mdl-tab-panel-title>
<mdl-icon class="mdl-color-text--primary">group_work</mdl-icon><span>Ontology</span>
</mdl-tab-panel-title>
<mdl-tab-panel-content>
<ul>
<li>Stanis</li>
<li>Joffrey</li>
</ul>
</mdl-tab-panel-content>
</mdl-tab-panel>
<mdl-tab-panel mdl-tab-panel-title="another">
<mdl-tab-panel-title>
<mdl-icon class="mdl-color-text--primary">list</mdl-icon><span>Cognitive</span>
</mdl-tab-panel-title>
<mdl-tab-panel-content>
<ul>
<li>Robert</li>
</ul>
</mdl-tab-panel-content>
</mdl-tab-panel>
<mdl-tab-panel mdl-tab-panel-title="else">
<mdl-tab-panel-title>
<mdl-icon class="mdl-color-text--primary">call_split</mdl-icon><span>Cognition</span>
</mdl-tab-panel-title>
<mdl-tab-panel-content>
<ul>
<li>Robert</li>
<li>Renly</li>
</ul>
</mdl-tab-panel-content>
</mdl-tab-panel>
<mdl-tab-panel mdl-tab-panel-title="last">
<mdl-tab-panel-title>
<mdl-icon class="mdl-color-text--primary">backup</mdl-icon><span>Streaming</span>
</mdl-tab-panel-title>
<mdl-tab-panel-content>
<ul>
<li>Joffrey</li>
<li>Myrcella</li>
<li>Tommen</li>
</ul>
</mdl-tab-panel-content>
</mdl-tab-panel>
</mdl-tabs>
我正在使用 webpack,但出现以下错误:
ERROR in [default] home/my-app-ui/src/app/landing.my.ts:10:23
Binding element 'index' implicitly has an 'any' type.
但是应用程序显示所需的功能,有人可以解释如何解决这个问题吗?
使用 any
或特定类型的变量,如(数字、字符串等)
public tabChanged(index:any): void {
this.activeIndex = index;
}
这是对类型脚本编译器的检查。您可以删除检查或在声明中明确指定 any 类型(@Thyagu 的回答)。
在 tsconfig.json
文件中,您可以更改行
"noImplicitAny": false,
至
"noImplicitAny": true,
对于对象,需要声明类型为
{index} : {index:any}
"suppressImplicitAnyIndexErrors": true //tsconfig.json
即使 noImplicitAny 标志为 true,您也可以将变量的类型设置为 any。
对于一个对象,你需要这样声明 使用一个道具:
{propA} : {propA:any}
不止一个道具:
{propA, propB} : {propA:any, propB:any}
在 tsconfig.json 文件的 compilerOptions
内添加 suppressImplicitAnyIndexErrors
。示例:
"compilerOptions": {
"suppressImplicitAnyIndexErrors": true
}