【发布时间】:2017-12-17 07:31:02
【问题描述】:
我目前正在 vue.js 中构建一个组件,但遇到了一点问题。你看,你可以给我的组件提供很多参数,所以为了清楚起见,我决定采用以下方法:
<script type="text/javascript">
Vue.$noClientConf = {
'cmp_name': 'NoClient',
'cmp_title': 'Selection du client',
'url': 'ajax/getclients.php',
'parent': null,
'opt_texte': 'NomClientFR',
'opt_valeur': 'NoClient',
'cmp_max_options': 3,
'opt_custom': null,
'data_size': 10,
'data_style': 'btn btn-default btn-sm',
'data_live_search': 'true'
};
</script>
<div id="app">
<div class="col-lg-2">
<flex-select ref="NoClient" :conf="Vue.$noClientConf"></flex-select>
</div>
</div>
<script type="text/javascript">
var app = new Vue({
el: "#app",
data:{Vue}
});
</script>
基本上,我定义了一个包含必要参数的对象并将其提供给我的组件。问题是我想为其中一些参数定义一些默认值,这样用户就不必全部列出。
现在,我阅读了有关 Vue.js 道具验证的内容,发现它非常适合我想做的事情。但是,虽然您可以验证道具是否是对象,但您似乎无法验证对象的结构。例如,我希望能够做到:
props: {
config.cmp_name: {
type:String,
required: true
},
config.cmp_title:{
type:String,
required: true
}
}
所以我的问题基本上是......有没有办法做到以上几点?
【问题讨论】:
标签: javascript validation vue.js