【发布时间】:2022-01-22 01:29:56
【问题描述】:
这里是页面的简化 html 和 javascript 文件。它有一个按钮和一个组件,它是一个显示组件数据的文本。我希望在单击按钮时更改组件的数据。但是如何通过脚本访问组件的数据?
index.html
<body>
<div id="app">
<my-component></my-component>
<button id="btn"> change data </button>
</div>
<script src="https://unpkg.com/vue@next"></script>
<script src="./main.js"></script>
</body>
main.js
let app = Vue.createApp({});
app.component('my-component', {
data: function() {
return {
component_data : "foo"
}
},
template: '<p> data = {{ component_data }} </p>'
}
);
app.mount("#app");
document.querySelector("btn").onclick = function() {
// HOW TO CHANGE component_data TO "bar"
}
【问题讨论】:
-
你可以使用 props 或 ref。你知道如何使用 refs 和 props 吗?
-
是的,但我只想从外部访问组件的数据。
-
这表示 XY 问题。通常,您不应该在设计良好的应用程序中这样做。如果您有特定的问题要解决,请考虑对其进行解释,而不是采用可能错误的解决方法。
标签: vue.js vue-component