用v-on指令或者@监听DOM事件,并在触发时运行一些JavaScript代码;
参考:JS,Vue2,介绍,与Vue3区别,MVVM设计模式,模板语法,数据绑定
Vue中的事件修饰符:
1、prevent:阻止默认事件(常用);
2、stop:阻止事件冒泡(常用);
3、once:事件只触发一次(常用);
4、capture:使用事件的捕获模式;
5、self:只有event.target是当前操作的元素时才触发事件;
6、passive:事件的默认行为立即执行,无需等待事件回调执行完毕;
Vue中常用的按键别名:
回车 =>enter、删除 =>delete (捕获“删除”和“退格”键)、退出 =>esc、空格 =>space、换行 =>tab (特殊,必须配合keydown去使用)、上 =>up、下 =>down、左 =>left、右 =>right等。
代码案例
模板内的表达式是非常便利的,用于简单的运算。当其过长或逻辑过于复杂时,会难以维护,因此,当遇到复杂的逻辑时应该使用计算属性,用computed计算属性。
代码案例
通过watch来响应数据的变化。
代码案例
class样式,写法:class="xxx" ,其中xxx可以是字符串、对象、数组。
1、字符串写法适用于:类名不确定,要动态获取。
2、对象写法适用于:要绑定多个样式,个数不确定,名字也不确定。
3、数组写法适用于:要绑定多个样式,个数确定,名字也确定,但不确定用不用。
style样式,写法::style="{fontSize: xxx}",其中xxx是动态值;:style="[a,b]"其中a、b是样式对象。
代码案例
最好是在元素生成的时候就加上事件,不然的话比较麻烦。
在jquery中,你也可以用live()和delegate()这样的方法绑定元素,是实时监听的。
但是最好还是在元素生成的时候就加上事件:
$('#btn').bind('click', function(event) {/* Act on the event */
$("<li>Hello</li>").appendTo("#list").bind('click', function(event) {
/* Act on the event */
console.log($(this).text())
})
})
在mootools中对应的方法:
// Creating an new anchor with an Objectvar myAnchor = new Element('a', {href: 'http://mootools.net',
'class': 'myClass',
html: 'Click me!',
styles: {
display: 'block',
border: '1px solid black'
},
events: {
click: function(){
alert('clicked')
},
mouseover: function(){
alert('mouseovered')
}
}})
事件被触发时,你绑定的函数才被调用,aArr[i].onclick=ck这样写才可以,但ck函数就要修改成:function
ck(){
var
url=this.getAttribute('href')
window.open(url,"nav","width=400
height=300")
}