作用:按需加载组件(性能优化)

    1. <div id="app">
    2. <!-- 3.使用子组件 -->
    3. <App></App>
    4. </div>
    5. <script src="./vue.js"></script>
    6. <script type='module'>
    7. import xxx from './modules.js';
    8. const App = {
    9. data() {
    10. return {
    11. isShow: false
    12. }
    13. },
    14. methods: {
    15. asyncLoad() {
    16. this.isShow = !this.isShow;
    17. }
    18. },
    19. components: {
    20. Test:()=>import('./Test.js')
    21. },
    22. template: `
    23. <div>
    24. <button @click='asyncLoad'>异步加载</button>
    25. <Test v-if='isShow'></Test>
    26. </div>
    27. `,
    28. }
    29. new Vue({
    30. el: '#app',
    31. data: {
    32. },
    33. components: {
    34. App
    35. }
    36. })
    1. //Test.js
    2. export default {
    3. data() {
    4. return {
    5. msg: 'mufeng'
    6. }
    7. },
    8. template: `
    9. <h3>{{msg}}</h3>
    10. `
    11. }