【发布时间】:2019-05-10 16:47:58
【问题描述】:
总的来说,我对前端有点陌生,尤其是 vue.js。我试图制作一个包含 5 个元素的小型应用程序,每个元素实际上是从具有 2 个值的对象获取数据 - 名称和描述。此外,每个对象都在一个数组中。
名称默认显示为阻止,描述默认显示为无。 我希望应用程序在我单击名称时显示要阻止的描述。 这是整个代码,您可以在codepen上或本地运行它,它会毫无问题地运行。您可以忽略 body 标签上方的所有内容。
<html>
<head>
<style>
*{margin: 0px; padding: 0px; font-family: sans-serif; list-style-type: none; }
body{background: #003366;}
#container{width: 1000px; margin: 100px auto;}
#elements{width: 100%;}
#elements li{display: inline-block; width: 40%; margin: 40px 5%; background: #FFF; color: #003366; box-shadow: 10px 10px 0px #222; user-select: none;}
#elements li h1,h3{padding: 10px 20px;}
#elements li h3{display: none;}
#elements li h1{cursor: pointer;}
</style>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
</head>
<body>
<div id="container">
<ul id='elements'>
<li v-for="eleObject in eleObjects">
<h1 v-on:click="expand" v-text="eleObject.name"></h1>
<h3 v-text="eleObject.description"></h3>
</li>
</ul>
</div>
</body>
<script>
let elementList = new Vue({
el: "#elements",
data:{
eleObjects:[
{name: "HTML5", description: "Used for front end web development more specifically for building the structure of a website"},
{name: "CSS3", description: "Used for giving style to the HTML elements, their positioning and overall look of the website"},
{name: "JavaScript 2015", description: "Used for event handling, functionality and dynamics of the website"},
{name: "Vue JS", description: "JavaScript framework for component based programming which is used to create more dynamic websites"},
{name: "Django.py", description: "Python framewrok used for the backend of the website aka storing data, displaying data templates etc..."}
]
},
methods:{
expand: function(){
}
}
});
</script>
</html>
【问题讨论】:
标签: javascript html vue.js vuejs2 vue-component