Angular 打字脚本可以';找不到div

Angular 打字脚本可以';找不到div,angular,typescript,asp.net-core-2.0,Angular,Typescript,Asp.net Core 2.0,尝试Angular演示时出现此错误[ts]找不到div import { Component } from "@angular/core"; import { FormControl } from "@angular/forms"; @Component({ selector: "main", template: ' <div> <label for="first-name-input">First Name:</label>

尝试Angular演示时出现此错误[ts]找不到div

import { Component } from "@angular/core";
import { FormControl } from "@angular/forms";

@Component({
selector: "main",
template: '
    <div>
        <label for="first-name-input">First Name:</label> 
        <input type="text" [formControl]="firstNameInput"
    </div>',
})
export class AppComponent {

public firstNameInput: FormControl = new FormControl("");
public lastNameInput: FormControl = new FormControl("");

public message: string = "Hello World!";
}


第一次使用typescript和angular。

这是一个简单的语法错误。模板应该是一个多行字符串文字,它用反勾(`)而不是单引号括起来。

这是因为在多行模板字符串周围使用单引号。使用单引号时,它不能跨多行。它看到该行并认为您正在引用一个名为div的变量


您可以使用`字符(grave或back tick)代替单引号,单引号定义了可以跨多行的模板字符串。请记住,它还对${…}之类的表达式求值,因此如果text是范围中的变量,则可以使用${text}之类的表达式,甚至可以使用${text.toUpperCase()+othertext}之类更复杂的表达式。

您应该使用backticks:`。不是单引号:'。请参阅上的文档
{
"extends": "tslint:latest",
"rules": {
    "arrow-parens": true,
    "interface-name": [ true, "never-prefix" ],
    "curly": true,
    "no-var-requires": false,
    "no-string-literal": false,
    "no-console": [ false ],
    "object-literal-sort-keys": false,
    "ordered-imports": [ false ]
},
"jsRules": {
    "curly": true
},
"rulesDirectory": []