使用方法有两种方式,一种是使用插值{{}},另一种是使用事件调用。
1. 使用插值
下面通过一个字符串翻转的示例来看一下,通过使用插值方式来使用方法。
【例3.3】插值使用方法(源代码\ch03\3.3.html)。
在input中通过v-model指令双向绑定message,然后在methods选项中定义reversedMessage方法,让message的内容反转,然后使用插值语法渲染到页面。
<div id="app"> 输入内容:<input type="text" v-model="message"><br/> 反转内容:{{reversedMessage()}} </div> <!--引入vue文件--> <script src="https://unpkg.com/vue@next"></script> <script> //创建一个应用程序实例 const vm= Vue.createApp({ //该函数返回数据对象 data(){ return{ message: '' } }, //在选项对象的methods属性中定义方法 methods: { reversedMessage:function () { return this.message.split('').reverse().join('') } } //在指定的DOM元素上装载应用程序实例的根组件 }).mount('#app'); </script>
在谷歌浏览器中运行程序,然后在文本框中输入“生命是流淌的江河”,可以看到下面会显示“河江的淌流是命生”反转后的内容,如图3-4所示。
图3-4 插值使用方法
2. 使用事件调用
下面通过一个“单击按钮自增的数值”示例来看一下事件调用。
【例3.4】事件调用方法(源代码\ch03\3.4.html)。
首先在data()函数中定义num属性,然后methods中定义add()方法,该方法每次调用num自增。在页面中首先使用插值渲染num的值,使用v-on指令绑定click事件,然后在事件中调用add()方法。
<div id="app"> {{num}} <p><button v-on:click="subtract()">自减</button></p> </div> <!--引入vue文件--> <script src="https://unpkg.com/vue@next"></script> <script> //创建一个应用程序实例 const vm= Vue.createApp({ //该函数返回数据对象 data(){ return{ num:100 } }, //在选项对象的methods属性中定义方法 methods: { subtract:function(){ this.num-=1 } } //在指定的DOM元素上装载应用程序实例的根组件 }).mount('#app'); </script>
在谷歌浏览器中运行程序,多次单击“自减”按钮,可以发现num的值每次减少1,结果如图3-5所示。
图3-5 事件调用方法