Javascript 角度2*Ng,用于不工作
以下是我的组成部分:Javascript 角度2*Ng,用于不工作,javascript,angular,ngfor,Javascript,Angular,Ngfor,以下是我的组成部分: import { Component } from 'angular2/core'; @Component({ selector: 'test', template: ` <ul > <li *ngFor="let t of test"> <span >{{t}}</span> </li> </ul>
import { Component } from 'angular2/core';
@Component({
selector: 'test',
template:
`
<ul >
<li *ngFor="let t of test">
<span >{{t}}</span>
</li>
</ul>
`
})
export class TestComponent implements OnInit{
test: string[];
constructor(){
this.test = ["Saab", "Volvo", "BMW"];
}
}
从'angular2/core'导入{Component};
@组成部分({
选择器:“测试”,
模板:
`
-
{{t}
`
})
导出类TestComponent实现OnInit{
测试:字符串[];
构造函数(){
这个测试=[“萨博”、“沃尔沃”、“宝马”];
}
}
尝试加载组件时,出现以下错误:
EXCEPTION: Template parse errors:
Can't bind to 'ngFor' since it isn't a known native property ("<ul >
<li [ERROR ->]*ngFor="let t of test">
<span >{{t}}</span>
</li>
"):
异常:模板分析错误:
无法绑定到“ngFor”,因为它不是已知的本机属性(“
- ]*ngFor=“让t离开测试”>
{{t}
"):
此外,我不确定在导入组件时是否应使用“@angular/core”或“angular2/core”。您的模板应为:
<ul>
<li *ngFor="#t of test">
<span >{{t}}</span>
</li>
</ul>
-
{{t}
或者在较新版本中采用这种方式:
<ul>
<li *ngFor="let t of test">
<span>{{t}}</span>
</li>
</ul>
-
{{t}
我也经历过类似的行为。问题是我在HTML中包含了Angular 2的最小化版本
如果是这样,请尝试使用Let Solved for me将Angular的未缩小文件包括在内
- {{test}
由于您尚未导入公共模块,因此可能会出现问题
到您当前使用的模块
尝试导入
import { CommonModule } from "@angular/common";
进入当前模块,查看问题是否已解决
公共模块添加angular 2中的所有内置指令
通过angular.io
希望有帮助:)我的问题是,我在使用带有HTML加载程序的Webpack时,在Angular编译HTML之前,将其最小化,从而将
*
从ngFor
中删除
{
test: /\.html$/,
use: [ {
loader: 'html-loader',
options: {
//minimize: true, // Make sure that you are not minimizing when using Angular
removeComments: false,
collapseWhitespace: false
}
}
我遇到了同样的问题,经过大量的搜索和测试,我才发现我忘记了在模块的“声明”中声明我的组件
从'@angular/core'导入{NgModule};
从“@angular/common”导入{CommonModule};
从'@angular/router'导入{RouterModule};
从“./search.component”导入{SearchComponent};
@NGD模块({
进口:[
公共模块,
RouterModule.forChild([
{路径:'',组件:SearchComponent},
])
],
出口:[
],
声明:[
搜索组件
],
})
export class SearchModule{}
@angular/core
来自发行候选版本,并且是最新版本。不确定您为什么会看到此错误。您使用的是Angular2的哪个版本?如果您使用的是“2.0.0-rc.1”,那么您应该从@angular/core
导入。我正在尝试在我的电子应用程序中使用Angular2。我按照以下准则设置了环境:但他使用的是angular/core。如果我将package.json更改为从@angular/core导入。需要对gulp文件进行哪些更改。我无法确定哪些文件需要复制到dist文件夹。如果你能解释一下,这将非常有帮助。谢谢您可以尝试使用*ng代替。如果这样做有效,那么您就有了一个非常旧的Angular2版本。不再推荐在ngFor中使用#,它的所有用法都应该转换为“let”@UnderWood,那么您就有了一个过时的Angular2版本。@Harrynish我评论说,因为他导入了“Angular2/core”库。因此,他应该以这种方式使用模板。要使用“let”,他应该导入“@angular/core”,明白了!我用的是过时的Angular2版本。现在它对我有用了。谢谢大家!哦,天哪,这是我该做的。如果你知道为什么会这样,你能解释一下吗?为什么页面工作正常,但*ngFor不正常。我不太清楚,但我发现这个答案很清楚