从Angular 1.5迁移到Angular 6时,组件中的模板网址不起作用

时间:2018-07-11 10:40:39

标签: angularjs angular typescript

我正在将Angular 1.5项目迁移到Angular6。Angular 1.5组件中使用的templateUrl无法正常工作。我正在使用以下软件包,

Angular CLI 6.0.8 打字稿2.7.2 角度6.0.7

我有Angular 1.5组件,这些组件已映射templateUrl。我成功地构建了这个混合应用程序,其中渲染了我的角度1和角度6组件。每当我加载项目时,templateUrl都会获取未找到的404路径,因此不会渲染angularjs 1.5组件。如果我将“模板”与内联html字符串一起使用,则它可以工作。

当我在Angular 6代码中使用打字稿时,我的Angular 1.5代码在javascript中

有人对我最近几天在这个问题上感到震惊吗?

谢谢

编辑

angular.
module('app.users').
component('userDetails', {
    templateUrl : './ng1/app/src/users/user-details.html',
    //template: 'This is user detail',
    controller: UserController
});

使用模板时,它可以正常工作。当templateUrl无法正常工作时。我尝试了以下链接 ./ng1/app/src/users/user-details.html
./app/src/users/user-details.html
../user-details.html
./users/user-details.html

我的组件js文件位于./ng1/app/src/users下 但是当使用gulp进行构建时,捆绑包js会在根文件夹中创建

编辑

我收到的错误在下面,

zone.js:2969 GET http://localhost:8082/ng1/app/src/users/user-details.html 404(未找到)

angular.js:13236错误:[$ compile:tpload]无法加载模板:./ ng1 / app / src / users / user-details.html(HTTP状态:未找到404)

编辑 浏览器网址:http://localhost:8082/users

路由指定为

$routeProvider.when('/users', {
      template: '<user-details></user-details>'
    })

1 个答案:

答案 0 :(得分:0)

尝试在顶部导入文件

import '/ng1/app/src/users/user-details.html';

在组件中,

templateUrl: 'users.user-details.html';