我想从我的Vue实例更新组件中的数据.找到关于如何做相反事情的大量例子,但没有任何内容.
说我有:
Vue.component('component', {
props: {
prop: {
default: null
}
},
template: '#template',
data: function () {
return {
open: false
};
}
});
Run Code Online (Sandbox Code Playgroud)
现在,我想设置open到true从我的Vue的实例:
var root = new Vue({
el: '#root',
data: {},
methods: { updateComponentData: function() {//set open to true} } });
Run Code Online (Sandbox Code Playgroud)
Ric*_*sen 14
你应该能够使用Child Component Ref.
<script type="text/x-template" id="template" ref="component">
<div>Hello, {{ name }}!</div>
</script>
Run Code Online (Sandbox Code Playgroud)
var root = new Vue({
el: '#root',
data: {},
methods: {
updateComponentData: function() {
this.$refs.component.open = true
}
}
});
Run Code Online (Sandbox Code Playgroud)
工作实例
const Child = Vue.component('child', {
template: `
<div>
<h2>Component1</h2>
<div>Hello, {{ title }}! <strong>{{ open }}<strong></div>
</div>
`,
data() {
return {
title: 'component',
open: false
}
}
});
var root = new Vue({
el: '#app',
components: {
Child
},
methods: {
updateComponentData: function() {
//console.log('updateComponentData', this.$refs)
this.$refs.component1.open = true
}
}
});Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.3.4/vue.min.js"></script>
<div id="app">
<h2>Parent</h2>
<button v-on:click="updateComponentData">Click me true</button>
<child ref="component1"></child>
</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20405 次 |
| 最近记录: |