在Vue.js中基于其他组件名称做某事是一种好习惯吗?

时间:2019-05-20 10:58:30

标签: javascript vue.js

设置条件并根据其他组件的名称运行一些代码是否被视为一种好习惯?

例如,我有一个可重用的子组件,并且当它作为特定组件的子组件呈现时,希望它的一种方法停止并且不运行,所以我在该方法中会有类似的东西:

   methodName() {
     if(this.$parent.$options.name == 'someSpecificName')
     {
        // prevent rest of the function if child of specific component
        return;
     }
     else {
        // continue the function when rendered inside other components
     }
   }

编辑: 因此,为了进一步阐明我的问题,我在子组件内部有一个方法,该方法在触发特定事件时会正常运行,但是我想做的是防止在特定父组件内部呈现该方法时使用该方法。

1 个答案:

答案 0 :(得分:2)

我会在子组件中设置一个布尔属性,如果该属性设置为true,则使该方法触发。

示例:

<meta http-equiv="X-UA-Compatible" content="IE=edge" />