2021-07-16

2021-07-18  本文已影响0人  羊羊羊的洋

Vue 语法中使用的 注意事项

<div @click="父亲事件">
    <div @click.stop>
        <div @click="儿子1事件"></div>
        <div @click="儿子2事件"></div>
        <div @click="儿子3事件"></div>
    </div>
</div>

可以使用上面这种方式 来完成 阻止事件穿透
在儿子上层增加一个包括容器,可阻止多个儿子向上冒泡事件

<custom-item ref='custom' @click.native='这样添加.native后才有效果'>/<custom-item>

v-for 和v-if 我么有时候会有一起使用的需求
在Vue中 当它们处于同一节点,v-for 的优先级比 v-if 更高,这意味着 v-if 将分别重复运行于每个 v-for 循环中 这样 将造成不必要的计算,影响性能 官方给出的解决方案是不要在同一节点中去执行渲染

<template v-if="dataList.length">
          <el-carousel-item v-for="(item, index) in dataList" :key="index">
            <img width="100%" :src="item.cover_img" alt="" />
          </el-carousel-item>
</template>

或者是 使用computed计算属性 事先处理好数组 再次渲染 去规避 一起使用

在父组件中的DOM 中调用调用子组件 在组件上设置 ref="keyname"
在js 中直接 this.$refs.keyname 就可以访问到子组件对象

html部分
<div> 
    <custom-item ref='custom'>/<custom-item>
</div>

js部分
<script>
export default {
      methods:{
          demo() {
             console.log('我是父组件中的函数方法')
          }
      }
}
</script>

custom-item 假如内部有一个 isShowMask() { } 的函数
那么在当前页面就可以这么调用

 this.$refs.custom.isShowMask()

this.$refs.custom 其实就可以拿到 自定义子组件 custom-item 的对象 对象去调用自己的函数方法

在 custom-item 组件中访问  demo() 函数

<script>
  export default {
    methods: {
      childMethod() {
//调用父组件方法
        this.$parent.demo();
      }
    }
  };this
</script>

prevent 子访问父组件
root 子访问根组件Vue实例 中的函数

以上均是本人在学习使用中遇到的问题 ,希望可以帮助大家

上一篇 下一篇

猜你喜欢

热点阅读