【发布时间】:2020-12-05 14:30:49
【问题描述】:
我正在使用 adminlte3、angular、asp.net core5 编写 Web 应用程序并收到错误消息,但最近几天无法解决此问题。错误消息是“无法绑定到‘routerlink’,因为它不是‘a’的已知属性。~~” 我一直在研究这个问题并遵循了答案,但所有这些答案都不起作用
这是布局:
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
import { RouterModule } from '@angular/router';
import { AppComponent } from './app.component';
import { NavMenuComponent } from './nav-menu/nav-menu.component';
import { DashV1Component } from './dashboard_v1/dashboard_v1.component';
import { CitiesComponent } from './cities/cities.component';
@NgModule({
declarations: [
AppComponent,
NavMenuComponent,
CitiesComponent,
DashV1Component
],
imports: [
BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),
HttpClientModule,
FormsModule,
RouterModule.forRoot([
{ path: '', component: DashV1Component, pathMatch: 'full' },
{ path: 'cities', component: CitiesComponent}
])
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
app.Component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html'
})
export class AppComponent {
}
Cities.Component.ts
import { Component, Inject } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { City } from './city';
@Component({
selector: 'app-cities',
templateUrl: './cities.component.html',
styleUrls: ['./cities.component.css']
})
export class CitiesComponent {
public cities: City[];
constructor(
private http: HttpClient,
@Inject('BASE_URL') private baseUrl: string) {
}
ngOnInit() {
this.http.get<City[]>(this.baseUrl + 'api/Cities')
.subscribe(result => {
this.cities = result;
}, error => console.error(error));
}
}
导航菜单.component.html
<ul class="nav-treeview">
<li class="nav-item">
<a class="nav-link" [routerlink]="['/cities']">Cities_R</a>
</li> ~~~~~
导航菜单.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-nav-menu',
templateUrl: './nav-menu.component.html',
styleUrls: ['./nav-menu.component.css']
})
export class NavMenuComponent {
}
以下是错误信息
:44314/vendor.js:13096 Uncaught Error: Template parse errors:
Can't bind to 'routerlink' since it isn't a known property of 'a'. (" <ul class="nav-treeview">
<li class="nav-item">
<a class="nav-link" [ERROR ->][routerlink]="['/cities']">Cities_R</a>
</li>
<li class="nav-item">
"): ng:///AppModule/NavMenuComponent.html@449:34
at syntaxError (:44314/vendor.js:13096)
at TemplateParser.parse (:44314/vendor.js:22309)
at JitCompiler._parseTemplate (:44314/vendor.js:36882)
at JitCompiler._compileTemplate (:44314/vendor.js:36870)
at :44314/vendor.js:36814
at Set.forEach (<anonymous>)
at JitCompiler._compileComponents (:44314/vendor.js:36814)
at :44314/vendor.js:36727
at Object.then (:44314/vendor.js:13087)
at JitCompiler._compileModuleAndComponents (:44314/vendor.js:36726)
package.json
"private": true,
"dependencies": {
"@angular/animations": "8.2.12",
"@angular/common": "8.2.12",
"@angular/compiler": "8.2.12",
"@angular/core": "8.2.12",
"@angular/forms": "8.2.12",
"@angular/platform-browser": "8.2.12",
"@angular/platform-browser-dynamic": "8.2.12",
"@angular/platform-server": "8.2.12",
"@angular/router": "8.2.12",
"@nguniversal/module-map-ngfactory-loader": "8.1.1",
"aspnet-prerendering": "^3.0.1",
"bootstrap": "^4.3.1",
"core-js": "^3.3.3",
"jquery": "3.4.1",
"oidc-client": "^1.9.1",
"popper.js": "^1.16.0",
"rxjs": "^6.5.3",
"zone.js": "0.9.1"
},
"devDependencies": {
"@angular-devkit/build-angular": "^0.803.26",
"@angular/cli": "^8.3.26",
"@angular/compiler-cli": "^8.2.14",
"@angular/language-service": "^8.2.12",
"@types/jasmine": "~3.4.4",
"@types/jasminewd2": "~2.0.8",
"@types/node": "~12.11.6",
"codelyzer": "^5.2.0",
"jasmine-core": "~3.5.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "^5.0.2",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage-istanbul-reporter": "~2.1.0",
"karma-jasmine": "~2.0.1",
"karma-jasmine-html-reporter": "^1.4.2",
"typescript": "3.5.3"
},
"optionalDependencies": {
"node-sass": "^4.12.0",
"protractor": "~5.4.2",
"ts-node": "~8.4.1",
"tslint": "~5.20.0"
}
【问题讨论】:
-
试试
routerLink,而不是routerlink。外壳很重要。 -
非常感谢。该错误是由于区分大小写。我不敢相信花了一些时间来解决这个错误。祝你有美好的一天!
标签: angular asp.net-core adminlte