javascript - 具有隐藏功能的 AngularJS 自定义指令

标签 javascript angularjs angularjs-directive

我正在尝试创建一个 AngularJS 自定义指令,如果它在变量中,它会隐藏一个元素。

例如,我从指令生成了三个链接:

  • 首页
  • 关于
  • 隐藏

我想隐藏“隐藏”链接。

这是我的看法:

<ul>
  <menu link="Home"></menu>
  <menu link="About"></menu>
  <menu link="Hide"></menu>
</ul>

...指令:

app.directive('menu', function() {
    return {
      scope: {
          link: "@"
      },
      template: '<li ng-hide="hideMenu(link)">{{link}}</li>',
      controller: function($scope) {
        var hideLink = 'Hide';
        function hideMenu(link) {
          if (hideLink == link) {
            return true;
          }
        }
      }
    };
});

...and Plunker .

谢谢!

最佳答案

要使您的函数在您的模板中可用,它必须在您的范围内。这是更新后的代码:

app.directive('menu', function() {
return {
  scope: {
      link: "@"
  },
  template: '<li ng-hide="hideMenu(link)">{{link}}</li>',
  controller: function($scope) {
    var hideLink = 'Hide';
    $scope.hideMenu = function(link) {
      if (hideLink == link) {
        return true;
      }
    }
  }
};
});

关于javascript - 具有隐藏功能的 AngularJS 自定义指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28686946/

相关文章:

javascript - 如何使用 ENTER 键在 primefaces selectOneMenu 之间导航

javascript - 错误后多线程中的 Electron 进程未关闭

angularjs - ngAnimate 与 Angular 1.4 + TypeScript 在页面加载期间无法工作

javascript - 如何使用 AngularJS 解析多个 json 文件

angularjs - 在 datepicker-popup 中禁用过去的日期

javascript - 无法将数据从 Controller 正确绑定(bind)到自定义指令模板,Angular

javascript - 使单个页面的浏览器缓存无效

javascript - 如何使用Trigger函数控制div的显示或隐藏

javascript - Angularjs $setViewValue 不影响 ngModel

javascript - $watch ngModel 从内部指令使用隔离范围