时间:2021-03-28 09:18:07 | 栏目:vue | 点击:次
1.给每个按钮添加class的属性值以及icon图标属性值,通过v-for实现自动添加样式,发现属性值无法显示,切记在属性前加上v-bind
<html>
<head>
<meta charset="utf-8">
<title>v-for在线测试实例</title>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js">
</script></head><body><div id="app">
<ul>
<template v-for="site in sites">
<button v-bind:class="site.icon" v-bind:icon:"site.icon">
{{
site.icon
}}
</button>
</template>
</ul>
</div>
<script>
new Vue
({
el: '#app', data:
{
sites: [
{
icon: 'el-icon-search'
},
{ icon: 'el-icon-refresh'
},
{
icon: 'el-icon-download'
}
]
}})
</script>
</body>
</html>
总结:
如果直接这么写
<button class="site.icon" icon="site.icon">
{{site.icon}}
</button>或者<button class="{{site.icon}}"
icon="{{site.icon
}}">{{site.icon}}
</button>,会发现class以及icon的值就是字符串site.icon,只有在标签属性前加上v-bind,即改成<button v-bind:class="site.icon" v-bind:icon="site.icon">{{site.icon}}</button>,class与icon的值才会显示el-icon-search,el-icon-refresh, el-icon-download 。
{{}}
应该写在html文本之间,不能写在属性值里。
总结