Vue.js - 如何在 属性 上为组件设置多个值(数组)?
Vue.js - How to set multiple values (array) for a component over a property?
我有一些 vue.js 组件,所有这些组件都从外部获取数据。
示例:
<vue-button icon="fa-arrow-right" text="mytext"></vue-button>
到目前为止效果很好,但现在我必须在 属性 上设置多个值。
这不起作用:
<vue-list items="['Entry1', 'Entry2']"></vue-list>
如何在一个值上设置多个值属性?
更新
我有一个工作示例,但我不确定这是否是正确的方法,但它确实有效。如果有人知道更好的方法,如果您与 me/us 分享我会很高兴。
我是这样称呼组件的:
<vue-list times='[ "08:00 - 12:00", "13:00 - 21:00" ]'></vue-list>
这是组件的代码:
<template>
<div>
<div v-for="item in timesArray">
<span v-html="item"></span>
</div>
</div>
</template>
<script>
export default {
props: ['times'],
data: function() {
return {
timesArray: [],
}
},
created: function() {
this.timesArray = JSON.parse(this.times);
}
}
</script>
不会是你错过了关闭Entry 2字符串吧?
<vue-list items="['Entry1', 'Entry2]"></vue-list>
正确的代码是
<vue-list items="['Entry1', 'Entry2']"></vue-list>
如果组件逻辑没问题,我认为应该可以。
您必须仅使用 vue 实例变量传递它,请参阅此 fiddle。
<div id="app">
<child :items="items"></child>
</div>
其中项目定义为 vue 实例数据:
new Vue({
el: '#app',
data: {
full_name: "Initial Val",
items: ['Entry1', 'Entry2']
}
})
使用属性绑定语法。
<vue-list :times='[ "08:00 - 12:00", "13:00 - 21:00" ]'></vue-list>
注意:times
前面的冒号。您不需要解析或使用数据。
我有一些 vue.js 组件,所有这些组件都从外部获取数据。
示例:
<vue-button icon="fa-arrow-right" text="mytext"></vue-button>
到目前为止效果很好,但现在我必须在 属性 上设置多个值。
这不起作用:
<vue-list items="['Entry1', 'Entry2']"></vue-list>
如何在一个值上设置多个值属性?
更新
我有一个工作示例,但我不确定这是否是正确的方法,但它确实有效。如果有人知道更好的方法,如果您与 me/us 分享我会很高兴。
我是这样称呼组件的:
<vue-list times='[ "08:00 - 12:00", "13:00 - 21:00" ]'></vue-list>
这是组件的代码:
<template>
<div>
<div v-for="item in timesArray">
<span v-html="item"></span>
</div>
</div>
</template>
<script>
export default {
props: ['times'],
data: function() {
return {
timesArray: [],
}
},
created: function() {
this.timesArray = JSON.parse(this.times);
}
}
</script>
不会是你错过了关闭Entry 2字符串吧?
<vue-list items="['Entry1', 'Entry2]"></vue-list>
正确的代码是
<vue-list items="['Entry1', 'Entry2']"></vue-list>
如果组件逻辑没问题,我认为应该可以。
您必须仅使用 vue 实例变量传递它,请参阅此 fiddle。
<div id="app">
<child :items="items"></child>
</div>
其中项目定义为 vue 实例数据:
new Vue({
el: '#app',
data: {
full_name: "Initial Val",
items: ['Entry1', 'Entry2']
}
})
使用属性绑定语法。
<vue-list :times='[ "08:00 - 12:00", "13:00 - 21:00" ]'></vue-list>
注意:times
前面的冒号。您不需要解析或使用数据。