Angular CLI:无法绑定到 属性'sip',因为它不是 'img' 的已知 属性

Angular CLI: Can't bind to Property' sip' since it isn't a known property of 'img'

我有一个小的 Angular2 CLI 项目,我在其中使用 Lync Integration 显示 Sharepoint 用户。在一般的网络应用程序中,我直接给出如下:

  <span>
    <span class='ms-imnSpan'>
        <a href='#' onclick='IMNImageOnClick(event);return false;' class='ms-imnlink ms-spimn-presenceLink' >
        <span class='ms-spimn-presenceWrapper ms-imnImg ms-spimn-imgSize-10x10'>
            <img name='imnmark' title='' ShowOfflinePawn='1' class='ms-spimn-img ms-spimn-presence-disconnected-10x10x32' src='/_layouts/15/images/spimn.png?rev=23' alt='User Presence' ([sip])='email' id='imn_{{userId}},type=sip' />
        </span>
        </a>
    </span>
    <span>
        <a href='#' onclick='IMNImageOnClick(event);return false;' class='ms-imnlink' tabIndex='-1'>
        <img name='imnmark' title='' ShowOfflinePawn='1' class=' ms-hide' src='/_layouts/15/images/spimn.png?rev=23' alt='User Presence' ([sip])='email' id='imn_{{userId}}_2,type=sip' />{{userName}}</a>
    </span>
  </span>

如果我使用像上面这样的代码,我的 angular 应用程序给出错误,sayinng 无法绑定到 属性 'sip' 因为它不是已知的 属性 'img'。真的迷路了,找不到很多关于这种 属性 绑定的信息。有人遇到同样的问题吗?

这是无效的 Angular2 语法

([sip])='email'

它叫做盒装香蕉而不是盒装香蕉 ;-)

[(sip)]='email'

<img> 元素没有 sip 属性,因此您的意思可能是

[attr.sip]='email'

我使用 ngAfterViewInit() 调用修复了这个错误,并在此方法中向 im​​g 标签添加了 sip 属性。这是我的完整代码:

  ngAfterViewInit() {
    var elements = document.getElementsByName('imnmark');
    for(let i=0; i< elements.length; i++) {
        var att = document.createAttribute("sip");      
        att.value = this.email;                          
        elements[i].setAttributeNode(att);

        var onloadAttr = document.createAttribute("onload");      
        onloadAttr.value = "IMNRC('"+this.email+"', this)";                          
            elements[i].setAttributeNode(onloadAttr);
    }

    if(typeof(window["IMNRC"]) != 'undefined') {
       window["IMNRC"](this.email, document.getElementById('imn_uniqueId,type=sip'));
       window["IMNRC"](this.email, document.getElementById('imn_uniqueId_2,type=sip'));
    }
}        

}