我对此非常陌生,并尝试从下面的Angular 2模板代码中了解一些内容。
//STEP1 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFMSG DD SYSOUT=*
//TOOLIN DD *
SORT FROM(INDD) TO(OUTDD1) USING(CTL1)
SORT FROM(OUTDD1) TO(OUTDD2) USING(CTL2)
//INDD DD *
123 200 20180516
123 300 20180520
456 700 20180420
456 100 20180616
//OUTDD1 DD DSN=XXX.ICETOOL.OUTDD1,
// DISP=(,CATLG,DELETE),
// SPACE=(CYL,(100,0),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=0)
//OUTDD2 DD DSN=XXX.ICETOOL.OUTDD2,
// DISP=(,CATLG,DELETE),
// SPACE=(CYL,(100,0),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=0)
//SSMSG DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//CTL1CNTL DD *
SORT FIELDS=(1,3,ZD,A,9,8,ZD,D)
/*
//CTL2CNTL DD *
SORT FIELDS=(1,3,ZD,A)
SUM FIELDS=NONE
/*
我有两个问题:
非常感谢你!
答案 0 :(得分:2)
[(x)]语法将属性绑定的括号[x]与事件绑定的括号(x)组合在一起。
这是Angular中的双向数据绑定,意味着无论您是在控制器侧还是在视图侧进行更改,它都会以角度更改它们的值。
您也可以在attribute
绑定和event
绑定中将其分开。像这样 -
[ngModel]
用于属性绑定,(ngModelChange)
用于事件绑定
有关双向数据绑定的更多信息,请参阅此处的官方文档 -
代码中的应在相应的类中定义哪些属性?
productName
是变量,您需要在类中定义该值以将值绑定到视图部分。
答案 1 :(得分:1)
在组件的逻辑中,您应该定义
myForm: FormGroup;
productName: string;
constructor(private formBuilder: FormBuilder) {
this.myForm = this.formBuilder.group({ productName: '' });
}
你必须像那样定义它,因为代码编写得很糟糕,但你可以简化它。
ngModel
周围的大括号(和括号)引用了Angular的数据绑定:
[x]
表示您输入框架值(x)
表示框架输出给您一个值[(x)]
是双向绑定:您可以通过输入值来更新视图,并在输出值时更新组件的变量。顺便说一下,formControl
和ngModel
是重复的,您应该删除它们中的任何一个。
答案 2 :(得分:0)
ngModel周围的大括号表示双向绑定。 这里有更多信息的链接
https://blog.thoughtram.io/angular/2016/10/13/two-way-data-binding-in-angular-2.html