小编Ron*_*gin的帖子

混合Angular 1.x + Angular 6应用程序,包含Angular 1.x中的vanilla JS和TS文件

当AngularJS文件是JS和TS时,我正在尝试构建混合应用程序.我似乎无法添加到JS控制器的路由.

我依赖以下示例并执行以下操作:

const statesConfigBlock = ['$stateProvider', $stateProvider => {
  $stateProvider.state('main', {
    url: '/main',
    templateUrl: 'app/components/layout/mainView.html',
    controller: 'mainController as main'
  })
}];
appModuleAngularJS.config(statesConfigBlock);
Run Code Online (Sandbox Code Playgroud)

虽然我有一个mainCtrl.js定义为的文件:

var app = angular.module('myApp', []);

(function(app) {
  'use strict';

  app.controller('mainController', [
      function () {
        console.log("blah");

      }]);
})(app);
Run Code Online (Sandbox Code Playgroud)

当我运行应用程序时,我得到:

名称为"mainController"的控制器未注册

但是当我在控制台中运行时,我确实看到了它:

angular.module('myApp')._invokeQueue.filter(function(el){
  return el[0] === "$controllerProvider";
}).map(function(el){
  return el[2]["0"];
});
Run Code Online (Sandbox Code Playgroud)

angularjs angular-ui-router angular angular-hybrid

6
推荐指数
1
解决办法
231
查看次数