我正在尝试使用$ refs从父组件中调用子组件的方法。如果我按常规方式操作,它会起作用:this.$refs.actualNameOfTheChildComponent.someMethod()
但是出于我的应用程序的需要,我必须使用变量名称而不是子组件的实际名称:
const previousAction = `action${i-1}`
this.$refs.previousAction.showConflict()
[在第二行中,Vue不明白我不是在引用名为previousAction
的子组件,而是在我的名字是变量previousAction
的值的子组件。
什么是正确的方法?
const previousAction = `action${i-1}`
this.$refs[previousAction].showConflict()
您可以详细了解
点符号和括号符号 here之间的区别。
点和括号之间有一些重要区别表示法:点符号:属性标识只能是字母数字(以及_和$)
属性标识符不能以数字开头。
- 属性标识符不能包含变量。
- 确定-obj.prop_1,obj.prop $
- 不正常-obj.1prop,obj.prop名称
括号符号: 属性标识符必须是字符串或引用字符串的变量。
可以使用以开头的变量,空格和字符串用数字
- 确定-obj [“ 1prop”],obj [“ prop name”]