如何在Angular 2指令中使用templateUrl

时间:2017-05-27 17:05:30

标签: angular2-directives

如何将html模板添加到指令中?这是一个不起作用的示例代码:

  

从'@ angular / core'导入{Directive};

     

@Directive({
  选择器:'[master-side-bar]',
  templateUrl:   'master-side-bar.html'})

     

导出类MasterSideBar {

     

constructor(){

console.log('Hello MasterSideBar Directive');   
     

}

     

}

我收到以下错误:

  

类型'{selector:string; templateUrl:string; }' 不是   可分配给“指令”类型的参数。对象文字可能只是   指定已知属性,类型中不存在“templateUrl”   '指令'。

2 个答案:

答案 0 :(得分:6)

从您的代码中,您需要使用组件而不是指令。

Component是唯一接受模板为HTML的指令。

请检查Types of directives

希望它有所帮助!!

答案 1 :(得分:2)

根据Angular文档,有两种类型的指令:属性和结构。他们都不支持模板。只需使用角度组件。您是否有必要使用指令?