Can't bind to 'ngIf' since it isn't a known property of 'div'.
元素是 <div [ngIf]="isAuth" id="sidebar">
该组件是:
import SessionService from '../session/session.service';
import { Component } from '@angular/core';
@Component({
providers: [],
selector: 'navbar-left',
styles: [require('./navbar-left.scss')],
template: require('./navbar-left.html'),
})
export default class NavbarLeftComponent {
public isAuth: boolean = false;
constructor(private sessionService: SessionService) {
this.isAuth = sessionService.sessionIsAuth();
}
}
Run Code Online (Sandbox Code Playgroud)
不确定我到底做错了什么?这是一个儿童组件.在父组件aka App组件中,ngif可以工作.角度RC5
我正在使用Angular2 Final版本(2.1.0).当我想显示公司列表时,我收到了这个错误.
在file.component.ts:
public companies: any[] = [
{ "id": 0, "name": "Available" },
{ "id": 1, "name": "Ready" },
{ "id": 2, "name": "Started" }
];
Run Code Online (Sandbox Code Playgroud)
在file.component.html:
<tbody>
<tr *ngFor="let item of companies; let i =index">
<td>{{i}}</td>
<td>{{item.name}}</td>
</tr>
</tbody>
Run Code Online (Sandbox Code Playgroud) 在Angular 2组件中我有 authbox.component.ts
import {Component} from 'angular2/core';
import {COMMON_DIRECTIVES} from 'angular2/common';
import {Credentials} from './credentials'
@Component({
selector: 'authbox',
template: `<div>
<div class="login-panel" *NgIf="!IsLogged">
<input type="text" *NgModel="credentials.name" />
<input type="password" *NgModel="credentials.password" />
<button type="button" (click)="signIn(credentials)">?| Sign In</button>
</div>
<div class="logged-panel" *NgIf="IsLogged">
<span>{nickname}</span> <button type="button" (click)="signOut()">|? Sign out</button>
</div>
</div>`,
directives: [COMMON_DIRECTIVES]
})
export class AuthBoxComponent {
private _isLogged: boolean;
get IsLogged(): boolean {
return this._isLogged
}
set IsLogged(value: boolean) {
this._isLogged = value;
}
public credentials: Credentials;
}
Run Code Online (Sandbox Code Playgroud)
在浏览器中我遇到错误« 无法绑定到'NgModel',因为它不是已知的本机属性 »和« …
在将一个组件添加到根组件的指令数组中之后,Angular2开始在浏览器中抱怨自我封闭"meta"标签应该没问题,并且如果指令不在那里也可以不用抱怨.
我正在尝试将my-header组件添加到我的应用程序中.
app.html
<div>
<my-header></my-header>
</div>
<nav class="nav-bar">
<div class="nav-bar-top-spacer"></div>
<ul>
<li *ngFor="#group of navigation" class="nav-option-group">
<div class="nav-option-group"></div>
<div (click)="hideGroup(group)" class="nav-option-group-name">{{ group.Croatian }}</div>
<ul [ngClass]="{displayNone: !group.visible}">
<li [routerLink]="[comp.componentName]" *ngFor="#comp of group.components" class="option-group-item">{{ comp.Croatian }}</li>
</ul>
</li>
<li class="nav-option-group">
<div class="nav-option-group-name">Odjavi se</div>
</li>
</ul>
</nav>
<router-outlet></router-outlet>
Run Code Online (Sandbox Code Playgroud)
app.ts
import { Component, View } from "angular2/core";
import { COMMON_DIRECTIVES } from "angular2/common";
import { Http } from "angular2/http";
import { RouteConfig, RouterLink, RouterOutlet, Route, ROUTER_DIRECTIVES, Router} from 'angular2/router';
import { Header } from …Run Code Online (Sandbox Code Playgroud) 刚升级到Angular 2.1.我有一个@input值,我试图传递一个数组.一旦我将*ngIf放入模板中,我就会得到解析错误?如果我打印输入值我得到:// [对象对象],[对象对象],[对象对象].为什么这会影响*ngIf?
<div *ngIf="< my value "></div>
Run Code Online (Sandbox Code Playgroud)
- error zone.js?fad3:388未处理的Promise拒绝:模板解析错误:无法绑定到'ngIf',因为它不是'div'的已知属性.("
HTML:
<button class="sa-button" [ngClass]="'buttonClass'">{{displayText}}</button>
Run Code Online (Sandbox Code Playgroud)
我期望在我的typescript文件中绑定的变量:
public buttonClass = "button";
Run Code Online (Sandbox Code Playgroud)
我得到的错误:
无法绑定到'ngClass',因为它不是'button'的已知属性
我想绑定一个变量,该变量包含我想要应用的css类的名称.
有没有正确的方法来做到这一点?我确实从角度文档中复制了这个,但它不起作用.
将 nx 工作区升级到 v12 后,一切都像以前一样工作,IDE 中包含预期的模板。
IDE(WebStorm)显示一些以前从未发生过的奇怪错误:

第一个警告表示属性 ngIf 上没有匹配任何指令,即使导入了,第二个错误也与Missing require() 语句相关CommonModule,并且asyncvar async = require('@angular/core/testing').async;
这真的很有趣,因为构建整个 monorepo 工作完美,所以我猜这可能是由一些不正确的 linting 配置引起的。不得不说,工作区不仅更新到了最新版本,还nx进行了转换tslint。eslint
过去有人遇到过类似的问题吗?
我开始使用Angular2(最终版本),我在使用*ngFor时遇到了一些问题.
我已经构建了以下组件树:main - > dashboard - > alerts
未处理的Promise拒绝:模板解析错误:无法绑定到'ngForOf',因为它不是'div'的已知属性.
("<div class ="item"[ERROR - >]*ngFor ="让警报提醒">"):DashboardAlertsComponent @ 5:20属性绑定ngForOf未被嵌入式模板上的任何指令使用.
确保属性名称拼写正确,并且所有指令都列在"指令"部分中.
它工作正常,但当我尝试在警报组件中添加*ngFor循环时,我收到以下错误:
DashboardAlertsComponent:
import {Component, OnInit} from "@angular/core";
import {Alert} from "../../shared/models/alert.model";
@Component({
selector: 'dashboard-alerts',
templateUrl: './alerts.component.html'
})
export class DashboardAlertsComponent implements OnInit {
alerts:Alert[] = new Array<Alert>();
constructor() {
this.alerts.push(new Alert('1', 'high', 'My alert1', '12/11/2016 4:50 PM'));
this.alerts.push(new Alert('2', 'low', 'My alert2', '11/11/2016 9:50 PM'));
this.alerts.push(new Alert('3', 'medium', 'My alert3', '10/11/2016 2:50 PM'));
}
ngOnInit() {
}
}
Run Code Online (Sandbox Code Playgroud)
alerts.component.html
<div class="item" …Run Code Online (Sandbox Code Playgroud) 无法绑定到'ngforOf',因为它不是已知的本机属性
<h4>Colors bad boys</h4>
<ul><li [ERROR ->]*ngfor="#color of colors">
<span>{{color.color | upperCase}}</span>
</li>
Run Code Online (Sandbox Code Playgroud)
尝试通过TemplateParser或RuntimeMetadataResolver加载模板,并在angular2引导程序中注入overwtitten方法,例如RuntimeMetadataResolver
模板正确加载其内容,但解析失败并显示错误
无法绑定到'ngforOf',因为它不是已知的本机属性
我试图根据Angular 2.0.0-beta.15中布尔值'isLoginPage'的值,在img属性上有条件地应用CSS样式.html的部分如下:
<a class="navbar-brand" href="#/">
<img src="/src/resources/images/logo.png" [ng-class]="{logoStyle: isLoginPage, navLogoStyle: !isLoginPage}" /></a>
Run Code Online (Sandbox Code Playgroud)
logoStyle和navLogoStyle在css类中提到,并在主html页面中添加.在相应的组件中,我设置了isLoginPage的值,如下所示:
import {Component, Input} from 'angular2/core';
import {NgClass} from 'angular2/common';
@Component({
selector: 'header',
inputs: ['isLoginPage'],
templateUrl: './header.html',
directives: [ROUTER_DIRECTIVES, RouterLink, NgClass]
})
export class HeaderComponent {
isLoginPage: boolean;
constructor(){
if(condition){
this.isLoginPage = true;
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我试图查看结果时,样式未应用,并且显示错误'模板解析错误:无法绑定到'ng-class',因为它不是已知的本机属性'.有人可以指导我吗?
我的 Angular2 模板中有以下代码:
<li>Gender: <span *ng-if="rating.isMale">Male</span><span *ng-if="!rating.isMale">Female</span></li>
Run Code Online (Sandbox Code Playgroud)
其中 rating.isMale 是一个布尔值。但是我在控制台中收到此错误:
例外:错误:未捕获(承诺):模板解析错误:无法绑定到“ng-if”,因为它不是已知的本机属性(“ode}}
年龄:{{rating.age}} 性别:]*ng-if="rating.isMale">MaleFemale <"): RatingComponent@12:38 属性绑定 ng-如果嵌入模板上的任何指令都没有使用 ("untryCode}}年龄:{{rating.age}} 性别:[错误 ->]男女 "): RatingComponent@12:32 无法绑定到 'ng-if' 因为它不是已知的本机属性 (" {{rating.age}}性别:男]*ng-if="!rating.isMale">女 "): RatingComponent@12:78 属性绑定 ng-if 没有被嵌入模板上的任何指令使用 ("i>Age: {{rating.age}}性别:男[错误 ->]女 "): RatingComponent@12:72
如我所愿,根据布尔值来完成编写两个答案的正确方法是什么?