作用:操作DOM(不推荐,少用)

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
    7. <title>Document</title>
    8. </head>
    9. <body>
    10. <div id="app">
    11. <!-- 3.使用子组件 -->
    12. <App></App>
    13. </div>
    14. <script src="./vue.js"></script>
    15. <script>
    16. Vue.component('Test', {
    17. data() {
    18. return {
    19. msg: "小马哥",
    20. }
    21. },
    22. template: `
    23. <div>
    24. <h3>{{msg}}</h3>
    25. </div>
    26. `,
    27. })
    28. const App = {
    29. data() {
    30. return {
    31. }
    32. },
    33. mounted(){
    34. // 1.如果给标签添加ref,获取的就是真实的DOM节点
    35. // 2.如果给子组件添加ref,获取的是当前子组件对象
    36. console.log(this.$refs.btn);
    37. // 加载页面,自动获取焦点
    38. this.$refs.input.focus();
    39. console.log(this.$refs.test);
    40. },
    41. components: {},
    42. template: `
    43. <div>
    44. <Test ref='test'></Test>
    45. <input type="text" ref='input'/>
    46. <button ref='btn'>改变生死</button>
    47. </div>
    48. `,
    49. }
    50. new Vue({
    51. el: '#app',
    52. data: {
    53. },
    54. components: {
    55. App
    56. }
    57. })
    58. </script>
    59. </body>
    60. </html>