【问题标题】:imported component file not working in AngularJS app using es6使用 es6 导入的组件文件在 AngularJS 应用程序中不起作用
【发布时间】:2017-03-24 18:38:24
【问题描述】:

这是我要导入的组件 ('./dashboard/dashboard_component'):

import template from './dashboard.html'

export default {
    templateUrl: template,
    controller: function($scope, $state) {
        console.log('DASHBOARD component');
    }
}

这就是我尝试使用它的方式

import angular from 'angular';
import uiRouter from 'angular-ui-router';
import login from './login/login_config';
import container from './container/container_config';
import dashboard from './dashboard/dashboard_config';
import dashboard_component from './dashboard/dashboard_component';

console.log('dashboard_component', dashboard_component);

angular
    .module('tickertags', [uiRouter])
    .config(($stateProvider, $urlRouterProvider) => {

    $urlRouterProvider.otherwise('/login');

    $stateProvider
        .state(login)
        .state(container)
        .state(dashboard);
})
.component('dashboardModule', dashboard_component) // <-- Here

// .component('dashboardModule', {
//     templateUrl: 'dashboard/dashboard.html',
//     controller: function($scope, $state) {
//         console.log('DASHBOARD component');
//     }
// })

为什么不能这样工作?

请注意,注释掉的代码可以正常工作,但我正在努力保持我的应用程序干净。

这是 console.log 打印出来的,它是一个对象:

【问题讨论】:

    标签: javascript angularjs import ecmascript-6


    【解决方案1】:

    在您的子模块中,您不要将templateUrl 设置为 URL,而是设置为 URL 后面文件的导入内容:

    import template from './dashboard.html'
    

    您也可以在屏幕截图中看到这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-13
      • 1970-01-01
      相关资源
      最近更新 更多