table 中的 ng-repeat 未触发 ng-click 事件

ng-click event not getting fired with ng-repeat in a table

vm.onQRnClicked 下的函​​数不会被 table 中的 ng-click 触发。 table 中 QRN 列的 link 是根据 API 的响应动态创建的。使用 ng-click 附加 event.getWf、gLEP 和 getByLE 是将在内部调用各自 API 和 return 各自响应的方法。

 vm.onQRnClicked= function(){
                                    return true;
                                       
                              
                            }
   
   getWf()
                            .then(function(response) {
                                    gLEP(response.payload.lEId)
                                        .then(function (lEPresponse) {
                                            if (typeof lEPresponse.children !== "undefined") {

                                                Promise.all(lEPresponse.children.map(function(e) {
                                                    return getpByLE(e.lEId)
                                                      .then(function(getpByLEresponse) {
                                                        var oLE = {};
                                                        

                                                        var linkForQrN = '<a ng-click="vm.onQRnClicked()">' + e.qrN + '</a>';
                                                        
                                                      
                                                     
                                                        oLE.html = e.html;
                                                        
                                                        oLE.qrN = linkForQrN;
                                                        oLE.lEN = e.lEName;
                                                        oLE.code = getpByLEresponse.code;
                                                        vm.oLEs.push(oLE);
                                                        return html;
                                                      })
                                                  }))
                                                  .then(function(result) {
                                                   

                                                        

                                                  })
                                                  .finally(function() {
                                                  
                                                  });
                                                
                                            }
                                            else
                                            {
                                                vm.dL = false; 
                                            }
                                        })
                                        .finally(function () {
                                           
                                        });
                                
 
                        
                            })
                            .finally(function(){
                               
                            }); 

html 下面。我尝试在 QRN 下提供专栏。函数 onQRnClicked 没有被触发。

 <div class="row" >
        <div class="col-xs-12 form-group">
          <label class="control-label" >O D</label>
          <br>
         
          <table id="oT">
            <tr>
              <th>QRN</th>
              <th>L E N</th>
              <th>P Code</th>
              <th></th>
            </tr>
            <tr ng-repeat="x in vm.oLEs">
              <td id="qrN" ng-bind-html="x.qrN"></td>
              <td ng-bind-html="x.lEN"></td>
              <td ng-bind-html="x.code"></td>
              <td ng-bind-html="x.html"></td>
            </tr>
          </table>
         
        </div>
      </div>

要按照您尝试的方式添加 ng-click 意味着您必须使用 compile 将元素绑定到 $scope,并且不是很 angular-ish。在您的用例中,最好将 ng-click 应用于 html,这样 angular 将在运行时自动编译

<td ng-click="vm.onQRnClicked()" id="qrN" ng-bind-html="x.qrN"></td>