我不确定我做错了什么。 TypeScript抱怨我的webpack输入字段中不存在interface Entry {
[name: string]: string | string[];
}
interface WebpackConfig {
entry: Entry
}
var config : WebpackConfig = {
entry: {
server: ['server'],
client: ['client']
}
}
config.entry.server.push('another');
。
为了简化问题,我将其修剪为:
TSError: ⨯ Unable to compile TypeScript
webpack.config.ts (75,18): Property 'server' does not exist on type 'Entry'
错误:
Entry
根据我的<form class="form-horizontal" method="POST" action="ajouterProduit4" name="formulaire">
<div class="panel panel-default tabs">
<ul class="nav nav-tabs" role="tablist">
<li class="active"><a href="ajouterProduit2"><button name="btn2" style="background: transparent; border: none;">Fiche Technique</button></a></li>
</ul>
<div class="panel-body tab-content">
<div class="tab-pane active" id="tab-second">
<?php
$reqt1 = "SELECT c.Libelle,c.ID FROM caracteristique c,fichetechnique f WHERE c.fichetechniqueID=f.ID AND c.fichetechniqueID='$categorie' LIMIT 0,10";
$reqt2 = "SELECT c.Libelle,c.ID FROM caracteristique c,fichetechnique f WHERE c.fichetechniqueID=f.ID AND c.fichetechniqueID='$categorie' LIMIT 10,10";
$rest1=mysqli_query($conne,$reqt1);
$rest2=mysqli_query($conne,$reqt2);
?>
<div class="col-md-6" id="txtHint">
<?php
while ($rowt1= mysqli_fetch_row($rest1)) {
?>
<div class="form-group">
<label class="col-md-3 control-label"><?php echo $rowt1[0] ?></label>
<div class="col-md-9">
<div class="input-group">
<span class="input-group-addon"><span class="fa fa-pencil"></span></span>
<input name="rowt1[]" value="<?php echo $rowt1[1]; ?>" type="text" class="form-control" />
</div>
</div>
</div>
<?php } ?>
</div>
<div class="col-md-6">
<?php
while ($rowt2= mysqli_fetch_row($rest2)) {
?>
<div class="form-group">
<label class="col-md-3 control-label"><?php echo $rowt2[0] ?></label>
<div class="col-md-9">
<div class="input-group">
<span class="input-group-addon"><span class="fa fa-pencil"></span></span>
<input name="rowt2[]" value="<?php echo $rowt2[1]; ?>" type="text" class="form-control"/>
</div>
</div>
</div>
<?php } ?>
</div>
</div>
</div>
<div class="panel-footer">
<input type="reset" class="btn btn-default" value="Réinitialiser">
<button name="envoyer" class="btn btn-primary pull-right">Etape 3 <span class="fa fa-arrow-right fa-right"></span></button>
</div>
</div>
</div>
</form>
界面,条目可以包含任何属性。
答案 0 :(得分:0)
您的Entry
接口被定义为可索引类型,这意味着您使用方括号访问元素而不使用点。
这是你应该怎么做的:
config.entry["server"].push('another')
这也会失败,因为您无法在push
类型上使用string | string[]
,但这样做会:
let item = config.entry["server"];
if (item instanceof Array) {
item.push('another');
}
如果您希望能够使用点表示法访问项目,那么最好这样做:
interface Entry {
server: string | string[];
client: string | string[];
[name: string]: string | string[];
}
然后你可以:
let item = config.entry.server;
if (item instanceof Array) {
item.push('another');
}