将多个参数传递给指令

时间:2018-01-05 04:32:28

标签: angular angular2-directives

我正在尝试扩展名为img-preload的{​​{3}}来接受第二个参数。目前,它可以像这样使用:

<img img-preload="http://some_remote_image_url">

如何将第二个参数传递给它?我需要这样的东西,img-preload-parameter2被绑定到img-pareload指令中的第二个输入:

<img img-preload="http://some_remote_image_url" [img-preload-parameter2]='assets/image2.png'>

更新

我的完整用例如下,其中errorImage是第二个参数:

<img class='card-image' [class.red]='isRed(item)' 
            img-preloader="{{getImage(item)}}" 
            [errorImage]='assets/imgs/default.png'
            (error)='onError(item)'
            [class.error]='item.error' />

指令代码:

export class ImagePreloader implements OnInit {
@Input('img-preloader') targetSource: string;
@Input('errorImage') errorImage: string;

这给了我以下错误:

  

未捕获的TypeError:无法读取未定义的属性“png”       在Object.eval [as updateDirectives](MyPage.html:59)       at Object.debugUpdateDirectives [as updateDirectives](core.js:14339)       在checkAndUpdateView(core.js:13508)       at callWithDebugContext(core.js:14740)       at Object.debugCheckAndUpdateView [as checkAndUpdateView](core.js:14277)       在ViewRef_.detectChanges(core.js:11300)       在VirtualScroll._stepChangeDetection(virtual-scroll.js:559)       在virtual-scroll.js:497       在派遣(dom-controller.js:139)       在DomController._flush(dom-controller.js:108)

0 个答案:

没有答案