ng-if 条件在指令模板中不起作用



我在自定义指令中检查 ng-if 条件时遇到了问题。实际上,我正在模板中绑定响应和检查条件。在这里,它不检查条件并显示两个字体真棒图标。

    Html code:
    <mydirective ng-repeat="Activiy in dDetails.activiy | orderBy:'$index':true | limitTo: limit as results"  n="{{Activiy.auditlog}}
     m="{{Activiy.activityStatus}}"></mydirective>
    Directive code:
    app.directive("mydirective", function(){
          return {
            restrict: "EA",
            scope: {
              n: "@",
              m: "@"      
            },
            template: "<span>{{n}}</span><span ng-if= 'm' == 'SUCCESS'><i class='fa fa-check' style='color: green;'></i></span><span ng-if= 'm' !='SUCCESS'><i class='fa fa-close' style='color: red;'></i></span><br>",
            link: function(scope){
              //console.log("foo: " + scope.m + " loaded");
            }
          };
        }); 

[!在此处输入图像描述][1]][1] 这是它在屏幕截图中的外观。实际上,如果响应成功,它应该只显示一个图标,它应该显示绿色标记。如果失败,它应该显示红叉标记。

Can you please correct my code.
Thanks in Advance.

  [1]: https://i.stack.imgur.com/1FUuv.png

这是它在屏幕截图中的外观。实际上它应该只显示一个图标。

当你引用作用域中的变量时,你不使用引号。如果你把引号解释为字符串。尝试这样的事情:

app.directive("mydirective", function(){
  return {
    restrict: "EA",
    scope: {
      n: "@",
      m: "@"      
    },
    template: '<span>{{n}}</span><span ng-if="m == 'SUCCESS'"><i class="fa fa-check" style="color: green;"></i></span><span ng-if="m !='SUCCESS'><i class="fa fa-close" style="color: red;"></i></span><br>',
    link: function(scope){
      //console.log("foo: " + scope.m + " loaded");
    }
  };
}); 

最新更新