基本用法,本页面获取dom元素

  1. <template>
  2. <div id="app">
  3. <div ref="testDom">11111</div>
  4. <button @click="getTest">获取test节点</button>
  5. </div>
  6. </template>
  7. <script>
  8. export default {
  9. methods: {
  10. getTest() {
  11. console.log(this.$refs.testDom)
  12. }
  13. }
  14. };
  15. </script>

【VUE】VUE中ref的用法总结 - 图1
this.$refs.testDom.style.color = "blue"

调用子组件中的data

  1. <template>
  2. <div>
  3. {{ msg }}
  4. </div>
  5. </template>
  6. <script>
  7. export default {
  8. data() {
  9. return {
  10. msg: "hello world"
  11. }
  12. }
  13. }
  14. </script>
  15. 父组件:
  16. <template>
  17. <div id="app">
  18. <HelloWorld ref="hello"/>
  19. <button @click="getHello">获取helloworld组件中的值</button>
  20. </div>
  21. </template>
  22. <script>
  23. import HelloWorld from "./components/HelloWorld.vue";
  24. export default {
  25. components: {
  26. HelloWorld
  27. },
  28. data() {
  29. return {}
  30. },
  31. methods: {
  32. getHello() {
  33. console.log(this.$refs.hello.msg)
  34. }
  35. }
  36. };
  37. </script>

调用子组件中的方法

  1. <!--子组件:-->
  2. <template>
  3. <div>
  4. </div>
  5. </template>
  6. <script>
  7. export default {
  8. methods: {
  9. open() {
  10. console.log("调用到了")
  11. }
  12. }
  13. }
  14. </script>
  15. <!--父组件:-->
  16. <template>
  17. <div id="app">
  18. <HelloWorld ref="hello"/>
  19. <button @click="getHello">获取helloworld组件中的值</button>
  20. </div>
  21. </template>
  22. <script>
  23. import HelloWorld from "./components/HelloWorld.vue";
  24. export default {
  25. components: {
  26. HelloWorld
  27. },
  28. data() {
  29. return {}
  30. },
  31. methods: {
  32. getHello() {
  33. this.$refs.hello.open();
  34. }
  35. }
  36. };
  37. </script>