Vue Conditionals and Lists

2017-12-11  本文已影响2人  法号无涯

Example 1

有时候我们希望一些标签的出现和隐藏是动态的根据数据的变化。这个功能需要用到conditionals。
代码如下:不过,这里当show的值变化时,p标签会消失,是完全的消失,不是隐藏或怎样。如果只是想隐藏起来,则应使用 v-show

<script src="https://npmcdn.com/vue/dist/vue.js"></script>

<div id="app">
    <p v-if="show">do you see me?</p>
    <p v-else>now you see me</p>
    <p>do you also?</p>
    <button v-on:click="show = !show">click me</button>
</div>
new Vue({
  el: '#app',
  data: {
    show: true
    },
  methods: {
    showAlert: function() {
        alert("Alert");
    },
    store: function(value) {
        this.value = value;
    }
  }
});

这里插播一段html知识,新出的标签叫template。它和Jade等模版比较像,不过是h5自带的。这个博客比较清楚的说明了template。
https://www.html5rocks.com/zh/tutorials/webcomponents/template/

Example 2

<script src="https://npmcdn.com/vue/dist/vue.js"></script>

<div id="app">
    <ul>
      <li v-for="ingredient in ingredients">{{ ingredient }}</li>
    </ul>
</div>
new Vue({
  el: '#app',
  data: {
    ingredients:['meat', 'fruit', 'cookies'],
    persons: [
    {name: 'john', age: 17, color: 'red'},
    {name: 'penny', age: 19, color: 'blue'}
    ]
    },
  methods: {
  }
});

对于list中的每个ingredient,如果想不仅显示其值,还要显示index的话就需要代码:
<li v-for="(ingredient, i) in ingredients">{{ ingredient }} ({{ i }})</li>

上一篇下一篇

猜你喜欢

热点阅读