TypeScript无法找到div

时间:2017-09-22 14:32:54

标签: 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> 
        <input type="text" [formControl]="firstNameInput"
    </div>',
})
export class AppComponent {

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

public message: string = "Hello World!";

}

使用Core2.0和新的Angular下载。以上是什么意思?

这是tslint.json

{
"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": []

}

使用打字稿和角色的第一次体验。

2 个答案:

答案 0 :(得分:1)

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

您可以使用`字符(严重或反向刻度)而不是单引号,它可以定义可以跨越多行的模板字符串。请记住,它还会像$ {...}那样计算包含的表达式,所以如果text是范围内的变量,或者甚至像$ {text.toUpperCase()+那样更复杂的话,你可以使用$ {text}之类的东西。 othertext}。

答案 1 :(得分:0)

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