发布于2023-02-03 03:30 阅读(919) 评论(0) 点赞(20) 收藏(5)
我的 app.component.html 代码是:
<h1>Password Generator</h1>
<div>
<label>Length</label>
</div>
<input (input)="onChangeLength($event.target.value)"/>
<div>
<div>
<input (change)="onChangeHandlerLetter()" type="checkbox" />
<label>Use Letter</label>
</div>
<div>
<input (change)="onChangeHandlerNumbers()" type="checkbox" />
<label>Use Numbers</label>
</div>
<div>
<input (change)="onChangeHandlerSymbols()" type="checkbox" />
<label>Use Symbols</label>
</div>
<div>
<button (click)="onButtonClick()">Generate</button>
</div>
</div>
<div>
<label>Your Password</label>
</div>
<input [value]="password"/>
{{password}}
我的 app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
length=0;
includeLetters=false;
includeSymbols=false;
includeNumbers=false
onChangeHandlerLetter=()=>{
this.includeLetters=!this.includeLetters
}
onChangeHandlerSymbols=()=>{
this.includeSymbols=!this.includeSymbols
}
onChangeHandlerNumbers=()=>{
this.includeNumbers=!this.includeNumbers
}
onChangeLength=(val:string)=>{
const parsedValue=parseInt(val);
if(!isNaN(parsedValue)){
this.length=parsedValue
}
console.log(length);
}
password=" "
onButtonClick=()=>{
this.password="My Password"
console.log("button clicked");
console.log(`Following should be included :
Sybmols : ${this.includeSymbols}
Numbers : ${this.includeNumbers}
Letters : ${this.includeLetters}`)
}
}
错误 :
index.js:561 [webpack-dev-server] ERROR
src/app/app.component.html:5:46 - error TS2531: Object is possibly 'null'.
5 <input (input)="onChangeLength($event.target.value)"/>
~~~~~
src/app/app.component.ts:5:16
5 templateUrl: './app.component.html',
~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component AppComponent.
你好问候社区,我是 TS 和角度的新手所以我不知道为什么我会收到这个错误我需要从输入栏获取输入并更改为数字和 console.log 我正在学习教程并且他正在获得正确的输出我没有知道为什么
您需要告诉 TypeScript 的类型HTMLElement
是您的目标。
为此,请使用 $event 而不是 $event.target.value,如下所示:
<input (input)="onChangeLength($event)"/>
然后在 app.component.ts 中使用:
const parsedValue=parseInt((<HTMLInputElement>event.target).value);
工作代码:
应用程序组件.ts
import { Component } from '@angular/core';
import { ColdObservable } from 'rxjs/internal/testing/ColdObservable';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
length=0;
includeLetters=false;
includeSymbols=false;
includeNumbers=false
onChangeHandlerLetter=()=>{
this.includeLetters=!this.includeLetters
}
onChangeHandlerSymbols=()=>{
this.includeSymbols=!this.includeSymbols
}
onChangeHandlerNumbers=()=>{
this.includeNumbers=!this.includeNumbers
}
onChangeLength=( event: Event)=>{
const parsedValue=parseInt((<HTMLInputElement>event.target).value);
if(!isNaN(parsedValue)){
this.length=parsedValue
}
console.log(length);
}
password=" "
onButtonClick=()=>{
this.password="My Password"
console.log("button clicked");
console.log(`Following should be included :
Sybmols : ${this.includeSymbols}
Numbers : ${this.includeNumbers}
Letters : ${this.includeLetters}`)
}
}
应用程序组件.html
<h1>Password Generator</h1>
<div>
<label>Length</label>
</div>
<input (input)="onChangeLength($event)"/>
<div>
<div>
<input (change)="onChangeHandlerLetter()" type="checkbox" />
<label>Use Letter</label>
</div>
<div>
<input (change)="onChangeHandlerNumbers()" type="checkbox" />
<label>Use Numbers</label>
</div>
<div>
<input (change)="onChangeHandlerSymbols()" type="checkbox" />
<label>Use Symbols</label>
</div>
<div>
<button (click)="onButtonClick()">Generate</button>
</div>
</div>
<div>
<label>Your Password</label>
</div>
<input [value]="password"/>
{{password}}
作者:黑洞官方问答小能手
链接:http://www.qianduanheidong.com/blog/article/497285/a30608b1b8e0cf43747f/
来源:前端黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 前端黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-3
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!