我正在将一个对象数组输入到一个从HTTP请求响应(异步)生成的组件中,我想用前三个数组元素填充一个不同的数组。
我想在从父输入分配第一个数组的同时填充新数组。
这是我的代码不起作用:
private _images: any[];
private threeImages: any[];
@Input()
set images(images: any[]) {
this._images = images;
for(let i=0; i < 3; i++){
this.threeImages = images[i];
}
}
get images() { return this._images }
为什么我不能使用setter拦截输入属性的输入属性更改?什么是实现我想要的结果的好方法?
答案 0 :(得分:2)
它正在运作,请看我的plunker:https://plnkr.co/edit/ZIjepnYZ5IS8FfktU0C1?p=preview
您需要将这些<title>New Test</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">New Test</td></tr>
</thead><tbody>
<tr>
<td>open</td>
<td>/common/oauth2/authorize?client_id/td>
<td></td>
</tr>
<tr>
<td>assertTitle</td>
<td>Sign in to your account</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>id=cred_userid_inputtext</td>
<td>example@example.com</td>
</tr>
<tr>
<td>click</td>
<td>id=cred_password_inputtext</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>id=cred_password_inputtext</td>
<td>password1</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>id=cred_sign_in_button</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>css=span.ms-Icon--outlook</td>
<td></td>
</tr>
<tr>
<td>select</td>
<td>id=selTz</td>
<td>label=(UTC-08:00) Pacific Time (US & Canada)</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>css=span.signinTxt</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>xpath=(//button[@type='button'])[12]</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>xpath=(//button[@type='button'])[51]</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//table[@id='use_another_account']/tbody/tr/td/table/tbody/tr[2]/td[2]/div</td>
<td></td>
</tr>
</tbody></table>
</body>
</html>
推送到数组,而不是每次都分配它。
images[i]