angular - 错误: Failed to load the template in ES5 Angular2

标签 angular

我正在使用 alpha.25 版本创建 angular2 应用程序(AddressManager)。以下是我收到错误的代码:

组件:

var AddressManager;

(function(AddressManager, Service, Utils){
    'use strict';
    var AddManagerInfo = Utils.at({
        Component: {
            selector:'address-manager',
            appInjector:[Service.ManageAddress]
        },
        View: {
            templateUrl:'address-manager.html',
            directives: [angular.NgFor]
        },
        forClass: AddManager,
        parameters: [Service.ManageAddress]
    })

    function AddManager (ManageAddress) {
        this.appName = 'Address Manager';
        this.personInfo = ManageAddress.get();
    }

    AddressManager.AddManager = AddManager;
})(AddressManager || (AddressManager = {}), Service || (Service = {}), Utils || (Utils = {}));

查看:(address-manager.html)

<div>Testing</div>

当我使用template:'<div>Testing</div>'时而不是templateUrl:'address-manager.html' ,效果很好。但如果是 templateUrl:'address-manager.html'它抛出错误:

加载模板“AddManager”失败

enter image description here

最佳答案

Angular 2 期望拥有模板的绝对路径。

https://angular.io/docs/ts/latest/cookbook/component-relative-paths.html

为了使用相对路径,请尝试向组件添加 moduleId 属性:

@Component({
     moduleId: module.id,
     selector: 'my-comp',
     directives: [],
     templateUrl: 'my-comp.html',
     styleUrls:['my-comp.css']
})

关于angular - 错误: Failed to load the template in ES5 Angular2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30683247/

相关文章:

javascript - Angular2 Material Design alpha.9-3 有 '404 not found' @angular/material

typescript - Angular2 - Iterable Differ 不检测变化

angular - *ngFor 中的双向数据绑定(bind)

node.js - 我可以对我从 Angular 中的 Node 模块执行的每个请求使用 http-proxy 吗?

javascript - Angular Material 自动完成与 ngb modal 结合

html - 通过点击更改 <li> 样式

angular - 使用 Protractor 测试元素是否在视口(viewport)中

node.js - MEAN 堆栈应用程序中无法获取/错误

javascript - 当用户按下 Enter 并且元素失去焦点时触发事件

angular - 如何在 ngrx/Store reducer 中使用其他 Angular2 服务?