Vue 的事件绑定分为: 原生事件绑定、组件事件绑定
原生 dom 事件的绑定,采用 addEventListener 实现
组件绑定事件采用的是 $on 方法
可以看成是 v-bind:value 加上 v-on:input 事件 的语法糖
让父组件的 appValue 与子组件的 change 事件绑定。
子组件内自定义 model:{prop,event}
<!-- 父组件 -->
<HelloWorld v-model="appValue" @changeEvent="mychange" />
<button @click="appValue = !appValue">change</button>
<!-- 子组件 -->
<template>
<div>
<input
type="checkbox"
:checked="mycheck"
@change="$emit(‘changeEvent‘, $event.target.checked)"
/>
{{ mycheck }}
</div>
</template>
<script>
export default {
model: {
prop: "mycheck",
event: "change",
},
props: {
mycheck: false,
},
};
</script>
XSS 攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。
<!-- 导致xss攻击 -->
<input type="text" v-model="msg" />
<div v-html="msg"></div>
<!-- input里如果被输入 <img src onerror="alert(document.cookie)" /> -->
// 定义 minxin
let MIXIN = {
data() {
return {
name: "mixin",
};
},
created() {
console.log("mixin...", this.name);
},
mounted() {},
methods: {},
};
export default MIXIN;
//引用mixin的 2 种方式
//1.1 全局引用
import mixin from "./mixin";
Vue.mixin(mixin);
//1.2 在vue文件中引用
import "@/mixin"; // 引入mixin文件
export default {
mixins: [mixin],
};
components: {
AddCustomer: () => import("../components/AddCustomer");
}
keep-alive 可以实现组件的缓存,当组件切换时,不会卸载组件,常用的 2 个属性是 include/exclude。
2 个重要的生命周期是: activated(){} , deactivated(){}
原文:https://www.cnblogs.com/pengnima/p/13070525.html