当前位置: 首页 > 面试题库 >

如何在ng-click上设置活动类?

叶文博
2023-03-14
问题内容

我有这个:

<div class="account-item">
    <div class="account-heading" ng-class="active">
        <h4 class="account-title">
            <a href="#/Messages"  onclick="SetActiveAccountHeading(this);">
            7.    @Translate("SYSTEM_MESSAGES")</a>
        </h4>
    </div>
    </div>
    <div class="account-item">
       <div class="account-heading" ng-class="active">
           <h4 class="account-title">
              <a href="#/Info"  onclick="SetActiveAccountHeading(this);">
              7.    @Translate("SYSTEM_INFO")</a>
           </h4>
      </div>
   </div>

在角度我有这个:

$scope.active = "active";

但是我该如何在单击时更改此设置,以便如果用户在菜单上单击一次即可激活,如果再次单击将不处于激活状态?


问题答案:

好吧,假设您有多个菜单项,并且想要根据点击来切换课程,

您可以 在控制器中 创建一个将菜单项表示为的数组

$scope.menuItems = ['Home', 'Contact', 'About', 'Other'];

分配默认的选定菜单项

$scope.activeMenu = $scope.menuItems[0];

创建一个函数来分配选定的菜单值,此函数将分配$scope.activeMenu最后一个选定的菜单项。

 $scope.setActive = function(menuItem) {
    $scope.activeMenu = menuItem
 }

HTML中

遍历menuItems数组并创建菜单。

ng-class检查最后单击的菜单项中,该项​​等于重复项。

如果单击菜单,则setActive()在控制器中调用函数,并将菜单项名称作为参数传递。

<div class="account-item" ng-repeat='item in menuItems'>
   <div class="account-heading" ng-class="{active : activeMenu === item}">
      <h4 class="account-title">
        <a href="#/Messages" ng-click="setActive(item)"> {{ item }}</a>
      </h4>
   </div>
</div>

这是演示

这是没有的演示ng-repeat



 类似资料:
  • 问题内容: “活动”类的CSS来自引导程序。 因此,切换作品几乎是我想要的。我希望它类似于导航链接中的活动状态,但在我的示例中,它处理图像,因此需要担心url字符串等。 我尝试模拟此示例,但没有用(我尝试了相同的图像逻辑):ng-class突出显示基于ng- repeat的活动菜单项,如果有人能指出我正确的方向,我将不胜感激。:D 问题答案: 在您遇到的情况下,我要做的是在ng-repeat的父范

  • 问题内容: 我有这样的按钮 还有这个 上面的代码工作正常,但我想使其动态化。 所以我像下面这样改变它。 这行不通,我不知道为什么,尽管如果我检查元素,上面的代码会生成如前所述的正确代码。 问题答案: 括号符号的使用: 指向当前作用域对象,因此您可以通过变量名称访问方法。

  • 问题内容: 我有一个像这样的控制器: 当我尝试使用ng-click调用upload_variant_image函数时,它仅在绑定到静态DOM时才有效(当DOM加载时),我有这样的链接: 但是此元素是在DOM加载后动态添加的,因此ng-click不起作用。 但是当我在Rails中像这样更新DOM时,它不起作用: 问题答案: 我警告您,如果您通过Angular外部方法来操纵DOM,则可能不会完全接受A

  • 问题内容: 我有一个菜单栏,其中子菜单上的两个项目都调用同一页面: 在该页面中,我有一个带有两个选项卡的选项卡视图: 如何设置活动标签,以便每个菜单项都激活相应的标签? 问题答案: 如果您想这样做,则不能使用中的,因为我们必须 在 跳到页面 之前 调用一种方法来更改tabindex 。如果使用,则在我们跳到页面后将调用该方法。 首先,您可以使用的操作字段,该方法返回您要跳过的地址: 这两种方法可以

  • 问题内容: 我有HTML结构: 如何禁用外,如果我做 问题答案: 在角度对象上使用该方法: 或将对象作为方法的参数传递,然后调用方法: 在:

  • 问题内容: 嗨,我在每个页面上的网站上都有一个菜单,我想将其放在自己的menu.php文件中,但是我不确定如何为我所在的任何页面设置 class =“ active” 。这是我的代码:请帮助我 menu.php: 问题答案: 如果您要在脚本中构建一个页面数组并将其与当前活动页面一起传递到视图文件,将会更容易: 使用像Smarty这样的模板引擎,您的menu.php看起来会更好: