如果一个普通的非Vue组件的JS文件想要获取当前Vue根组件的属性,可以通过将根组件的属性传递给该文件,或者通过全局变量访问。\n\n1. 将根组件的属性传递给该文件:\n 在根组件的模板中,可以使用v-bind指令将根组件的属性绑定到一个自定义属性上,然后将该自定义属性传递给非Vue组件的JS文件。\n\n html\n <template>\n <div>\n <!-- 将根组件的属性绑定到一个自定义属性上 -->\n <div v-bind:custom-attr="rootAttr"></div>\n </div>\n </template>\n \n\n 在非Vue组件的JS文件中,可以通过获取DOM元素的自定义属性来访问根组件的属性。\n\n javascript\n // 获取DOM元素\n var element = document.querySelector('div');\n\n // 获取根组件的属性\n var rootAttr = element.getAttribute('custom-attr');\n \n\n2. 通过全局变量访问:\n 如果根组件的属性是通过Vue的data选项定义的,可以将其定义为一个全局变量,然后在非Vue组件的JS文件中直接访问该全局变量。\n\n javascript\n // 在根组件中定义全局变量\n Vue.prototype.$rootAttr = 'value';\n\n // 在非Vue组件的JS文件中访问全局变量\n var rootAttr = Vue.prototype.$rootAttr;\n \n\n请注意,通过全局变量访问根组件的属性可能会导致命名冲突或不可预料的问题,因此最好使用第一种方法将属性传递给非Vue组件的JS文件。


原文地址: http://www.cveoy.top/t/topic/pIWE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录