vue五个指令入门示例

  • 指令是带有前缀 v-,以表示它们是 Vue 提供的特殊特性。它们会在渲染的 DOM 上应用特殊的响应式行为
  • 本文介绍5个指令的用法,他们分别是v-bindv-ifv-forv-onv-model

1.v-bind指令

  • 示例代码
<div id="app">
           <span v-bind:title="vbind">
                    span的title属性有值,鼠标移过来能看见!
            </span>
</div>
<script>
            var app = new Vue({
                el: '#app',
                data: {
                    vbind:"看到了吧"
                }
                })
</script>

该指令的意思是:“将这个元素节点的 title 特性和 Vue 实例的 message 属性保持一致”

注意:span 元素的title属性特点是:鼠标停留在上面就会显示出来

  • 效果


    image.png

2.v-if、v-for条件与循环指令

  • v-if
    代码
<div id="app">
            <span v-bind:title="vbind">
                    span的title属性有值,鼠标移过来能看见!
            </span>
            <p v-if="vif">现在你看到我了</p>
        </div>
        
        <script>
            var app = new Vue({
                el: '#app',
                data: {
                    vbind:"看到了吧",
                    vif:true
                }
                })
        </script>

效果


image.png

注意:如果vif值没有定义,将不会显示,控制台会报异常vif找不到

  • v-for
<div id="app">
            <span v-bind:title="vbind">
                    span的title属性有值,鼠标移过来能看见!
            </span>
            <p v-if="vif">现在你看到我了</p>
            <ol>
                    <li v-for="todo in todos">
                      {{ todo.text }}
                    </li>
            </ol>
        </div>
        <script>
            var app = new Vue({
                el: '#app',
                data: {
                    vbind:"看到了吧",
                    vif:false,
                    todos: [
                            { text: '学习 JavaScript' },
                            { text: '学习 Vue' },
                            { text: '整个牛项目' }
                    ]
                }
                })
        </script>

效果


image.png

3.v-on 指令-添加事件监听器

  • 点击事件

v-on:click="方法名"

<div id="app">
                <p>{{ message }}</p>
                <button v-on:click="reverseMessage">反转消息</button>
</div>
 <script>
            var app = new Vue({
                el: '#app',
                data: {
                    message:"上 海 !"
                },
                methods: {
                    reverseMessage: function () {
                    this.message = this.message.split('').reverse().join('')
                    }
                }
                })
</script>

效果


image.png

4.v-model - 实现表单输入和应用状态之间的双向绑定

<div id="app">
                <p>{{ message }}</p>
                <button v-on:click="reverseMessage">反转消息</button>
                <input v-model="message">
        </div>
        <script>
            var app = new Vue({
                el: '#app',
                data: {
                    message:"上 海 !"
                },
                methods: {
                    reverseMessage: function () {
                    this.message = this.message.split('').reverse().join('')
                    }
                }
                })
        </script>

效果


image.png

vue应用的message的值会跟随输入的值变化而变化,初始化的时候input的值也被vue应用的message赋值,实现双向绑定

5.其他指令

  • v-html
    该指令可以把demohtml变量数据解析成html
<p v-html="demohtml"></p>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。