1.v-model是双向绑定,视图(View)和模型(Model)之间会互相影响。
既然是双向绑定,一定是在视图中可以修改数据,这样就限定了视图的元素类型。目前v-model的可使用元素有:
input
select
textarea
radio
components(Vue中的自定义组件)
基本上除了最后一项,其它都是表单的输入项。
举例:
html:
<body>
<div id="app">
<!--双向绑定 -->
<input type="text" v-model="num">
<button v-on:click="tips="num++">+</button>
<h1>
我是<span v-text="name"></span><br>
吃了{{num}}个人
</h1>
<span v-text="name"></span><br>
<span v-html="name"></span>
<h1>开售以下课程</h1>
<input type="checkbox" value="java" v-model="lessons"/>java<br>
<input type="checkbox" value="python" v-model="lessons"/>python<br>
<input type="checkbox" value="ios" v-model="lessons"/>ios<br>
<h1>您已经够卖</h1>
<!--join()方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的-->
{{lessons.join(",")}}
</div>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
const app = new Vue({
el: "#app",//element
data: {
name: "大老虎",
num: 1,
lessons: []
},
});
</script>
</body>
2.v-on指令用于给页面元素绑定事件。
<body>
<div id="app">
<!--v-on 绑定事件-->
<!--单机弹出一个提示框-->
<button v-on:click="tips">点我</button>
<br>
<!--单机按钮 但是不触发div的v-on 事件冒泡使用 v-on:click.stop="触发的事件" -->
<div style="height: 100px;width: 100px;background-color: aqua;" v-on:click="printf(‘div‘)">
<button v-on:click.stop="printf(‘button‘)">点我试试</button>
</div>
<!--单机超链接 不触发href的地址 使用 v-on:clikc.prenevt="触发的事件"-->
<a href="http://www.baidu.com" v-on:click.prevent="printf(‘百度一下‘)">百度一下</a>
</div>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
const app = new Vue({
el: "#app",
methods: {
tips: function () {
alert("hello");
},
created: function () {
this.name = "你好"
},
printf:function (msg) {
console.log(msg)
}
},
});
</script>
</body>
原文:https://www.cnblogs.com/asndxj/p/11494350.html