Vue.js使用正确的组件

时间:2017-06-25 11:17:04

标签: javascript vue.js

我在主要组件中有一个主要组件我有一个子组件 vue.js 2.0

问题是子组件使用主要组件中的方法。

我做了一个例子:

Vue.component('main-component', {
  template: '<p>This is the main component. <sub-component><button @click="test()">If this button is presses: "sub-component" must show up. </button></sub-component></p>',
  methods: {
  	test() {
    	   alert('main-component');
        }
  }
})

Vue.component('sub-component', {
  template: '<p>This is sub-component <slot></slot> </p>',
  methods: {
       test() {
      	alert('sub-component');
      }
  }
})

var app = new Vue({
  el: '#app'
})
<script src="https://vuejs.org/js/vue.min.js"></script>
<div id="app">
  <main-component></main-component>
</div>

如何确保sub-component使用它自己的方法,并且在这种情况下,在按下按钮时发出警告:'子组件'而不是'main-component'?

2 个答案:

答案 0 :(得分:1)

使用G_SIGNAL_RUN_LAST

<script src="https://vuejs.org/js/vue.min.js"></script>
<div id="app">
  <main-component></main-component>
</div>
//My header file

#ifndef GUARD_myFunc
#define GUARD_myFunc

#include <Rcpp.h>

NumericMatrix myFunc(NumericMatrix Xin) {

    NumericMatrix Xout=Xin;

    return Xout;

}

#endif

答案 1 :(得分:0)

也许你可以尝试这样的事情:

<sub-component ref="sub"><button @click="$refs.sub.test()">...</button></sub-component>