当前位置: 首页 > 知识库问答 >
问题:

Angular 5-输入文本和ngModel时的奇怪行为

从元明
2023-03-14

接受这个基本输入

<form (submit)="input_button($event)">
        <input
            type="text"
            [(ngModel)]="input_text"
            name="code"/>
            <br/>

    <input
        type="submit"
        value="Ok"/>
    </form>
    {{input_text}}

使用简单的字符串在组件中输入文本。很好,很好。双向数据绑定正在工作,您可以在按钮下方看到您输入的值。

现在,将组件中的输入_文本替换为

input_text:Array<string> = ['A', 'B', 'C', 'D'];

在你的模板中尝试以下方法:

<form (submit)="input_button($event)">
        <input
            *ngFor="let text of input_text; let i = index"
            type="text"
            [(ngModel)]="input_text[i]"
            name="code_{{i}}"/>
            <br/>

    <input
        type="submit"
        value="Ok"/>
    </form>
    {{input_text}}

您有4个输入,以及初始化(具有正确的名称)。但是当您尝试将文本放入字段时,您失去了焦点并且input_text数组保持不变({{input_text}}始终显示相同的数组)

将[(ngModel)]=“输入文本[i]”替换为[(ngModel)]=“文本”不起任何作用

有人能解释一下这里发生了什么吗?

谢谢!

共有2个答案

易超
2023-03-14

好吧,trackBy正在工作,但{{input_text}}不会触发,因为它是一个对象

谢谢大家帮忙

雷国兴
2023-03-14

在组件input_text:Array中尝试init

<form (submit)="input_button($event)">
    <input
        *ngFor="let text of input_text; let i = index"
        type="text"
        [(ngModel)]="input_text[i].name"
        name="code_{{i}}"/>
        <br/>

<input
    type="submit"
    value="Ok"/>
</form>
{{input_text | json}}

 类似资料:
  • 我看到一个奇怪的行为与ImageIO. read()方法。 我将InputStream传递给这个方法,当我第二次尝试读取它时,它无法读取并返回null。 我试图上传图像到亚马逊S3,我想创建3个版本的图像。原始和2缩略图。我的问题是,当我想创建2个缩略图时,我需要使用ImageIO. read()读取输入流。如果我运行这个方法2相同的InputStream我得到null为第二次读取。 我可以通过只

  • 我正在使用Mapstruct映射将一个POJO转换为另一个POJO模型 以下是mapstruct自动生成的方法 该方法基本上获取源POJO的映射,并将其转换为目标模型的映射。生成正在通过。 当我运行代码时,我在这个方法中得到了ClassCast异常:HeaderAttributeGenericDataTypeMaptoStringEnergiectAttributeDataMap 堆栈跟踪: 我还

  • 我有以下C代码: 当我为两个scanf输入正常整数和双精度值时,它运行良好。但是我想让它更健壮。如果我为int scanf输入一个十进制值,代码将直接跳到下一个printf,并跳过scanf以获得double。它将我在int中输入的小数部分打印为双精度值。 eg: hello world,我是一个返回值为10的函数 现在输入一个值:44.67 所以您输入了值:44 现在输入一个双精度值:直到4的双

  • 我有以下代码来解析一个JSON文件: 要处理以下JSON文件: 如果我执行此代码,我将收到以下错误: 所以我开始一步一步地调试应用程序,看看part processing()中的哪个代码部分抛出了这个异常。令人惊讶的是,那里的所有代码都正常执行:没有抛出异常,也没有返回结果I except。 更让我惊讶的是,当我稍微改变第一种方法的代码时,它可以在不产生异常的情况下工作。 我不知道println方

  • 问题内容: 我正在使用jmh 使用maven并按照http://openjdk.java.net/projects/code- tools中 建议的命令行方法对一个简单的应用程序进行基准测试。成功设置并建立基准后,我可以使用avgt模式获得以下基准结果: 我不确定如何解释此输出,但我确定某些地方出了错…?知道什么或如何调试吗? 问题答案: JMH输出使用扩展的Unicode字符。特别是, ?10

  • 我有以下代码: 假设我现在将电脑的时区设置为太平洋时间(PDT为UTC-7),则打印 2012年6月29日星期五08:15:00太平洋标准时间 PDT不是比IST(印度标准时间)晚12.5小时吗?这个问题在任何其他时区都不会发生-我尝试了UTC、PKT、MMT等,而不是日期字符串中的IST。Java中有两个IST吗? 注意:实际代码中的日期字符串来自外部源,因此我不能使用GMT偏移量或任何其他时区