ng-if控制器功能在多个位置路径上显示指令

时间:2016-07-22 16:48:02

标签: angularjs

如何从ng-if中移出逻辑并将其转换为控制器中的函数?

<menu ng-if="location.path() === '/salad' || location.path() ==='/main'"></menu>

控制器:???

我试着去试试,但这并不奏效:

HTML:<menu ng-if="menuItem()"></menu>

控制器:

$scope.menuItem = function() {

  return menuItem === $location.path('/salad') || $location.path('/main');
}

1 个答案:

答案 0 :(得分:1)

使用该指令似乎没有任何问题,尽管最好使用ng-if表达式而不是函数,因为该函数现在将在每个摘要周期进行评估。 / p>

我认为您的错误实际上来自于您在menuItem中编写表达式的方式。

尝试:

$scope.menuItem = function () {
  return ($location.path() === '/salad' || $location.path() ==='/main')
}