Динамическая нагрузка компонента на маршруте навигации угловой 1,5 и UI маршрут 1 - PullRequest
0 голосов
/ 13 декабря 2018

Привет. Я пытаюсь загрузить компонент при навигации по маршруту.Причина в том, что html-страница компонента составляет более 1 МБ.Если я загружаюсь при загрузке, это замедляет пользовательский интерфейс, я хочу загружать этот компонент только после того, как пользователь нажмет на конкретный маршрут

. Любой пример поможет.Вы можете проверить код ниже, я пытаюсь.Сообщите мне исправление.

aboutus-component.js

import AboutUsCtrl from './aboutus-controller'
export const AboutUsComponent = {
    controllerAs : 'vm',
    controller:AboutUsCtrl,
    templateUrl: './aboutus.html'
}

aboutus-module.js

import angular from 'angular'
import {AboutUsComponent} from './aboutus-component.js'
(function(){
  angular.module('analyzerApp')
  .component('aboutus',AboutUsComponent)
  .name
})();

Теперь нажмите на вкладку aboutus

import(/* webpackChunkName: 'aboutus' */'../app/aboutus-main.js').then(() => {

            setTimeout(()=>{
              $state.go('aboutus', { reload: false });
            },2000)

            //window.location.href="#/aboutus"

        })

aboutus-main.js

importModules(
  require.context('./', true, /^(.*(aboutus)\.js)((?!.*\.(js\.*))$)/i)
);

/**
 * Dynamically imports modules
 * @param request
 */
function importModules(request){
  request.keys().forEach(request);
}

Получение этой ошибки

angular-ui-router.js:3251 Uncaught Error: Could not resolve 'aboutus' from state 'home'
    at Object.transitionTo (angular-ui-router.js:3251)
    at Object.$state.transitionTo (ct-ui-router-extras.js:201)
    at Object.$state.transitionTo (ct-ui-router-extras.js:1599)
    at Object.$state.transitionTo (ct-ui-router-extras.js:1084)
    at Object.go (angular-ui-router.js:3179)
    at ni-footer.js:38
...