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

在ng-class中传递带有参数的函数以获取类

缪嘉志
2023-03-14
问题内容

我正在尝试使用ng-class的angular。我有一个函数,它根据我们发送的参数返回类。我该如何实现呢?

这是我尝试过的:

<div ng-class="{ getClass(key) }" >

并在控制器中:

getClass = function(keyVal){
    angular.forEach(myArray, function(value, id){
        if(value.key === keyVal){
            console.log(value.class);
            return value.class;
        }
    });
}

只需返回一个字符串即可。但是当我添加此anfular.forEach时,它停止了。在调试器中,循环工作正常并返回正确的数据。

我知道可以通过过滤器来解决,但我只想这样做。


问题答案:

您不应该使用单个大括号,只需删除它们即可使用:

<div ng-class="getClass(key)">

但是,对于您的用例,将表达式直接写入HTML甚至更简单(而不是调用函数)

<div ng-class="key + '-class'">

请记住,ng-class表达式可以返回

  1. 字符串: "class1 class2 class3"
  2. 数组: ["class1", "class2", "class3"]
  3. 一张地图: "{class1: true, class2: true, class3: true}"

更新资料

您的新问题有所不同。当您在内部返回某些内容时angular.forEach,它只会退出循环,但不会由getClass函数返回。因此,请保留对它的引用:

getClass = function(keyVal) {
    var theClass;
    angular.forEach(myArray, function(value, id) {
        if(value.key === keyVal) {
            theClass = value.class;
        }
    });
    return theClass;
}

或者您可以有一个更简单的版本:

getClass = function(keyVal) {
  for (var i = 0; i < myArray.length; i++) {
    if (myArray[i].key === keyVal) {
      return myArray[i].class;
    }
  }
}


 类似资料:
  • 将函数传递给另一个函数的Scala示例缺少传递的函数(时间段)接受参数(x)的情况。 我怎样才能使上述代码工作? 编辑:我在oncepersecond中添加了一个x,以明确目标是传递整数。

  • 我有下面的<代码> 有些值非常大,最高可达6位。我想编写一个Javascript函数,它将接受子字符串并仅显示前3位数字。 如何编写函数并将参数作为值传递: 我可以用PHP实现,但是我需要用javascript。

  • 问题内容: 请告知如何将参数传递给使用的函数。 我的例子是不正确的。 问题答案: 您需要创建一个匿名函数,以便不会立即执行实际函数。

  • 问题内容: 我有一个功能,它从父级一直到组件层次结构中子级的子级。通常,这不会有太大的问题,但是我需要从孩子那里接收一个参数。我目前收到此错误消息: 这是我正在做的示例代码: 总结一下:我一直将myFunction作为道具传递给,每次单击按钮并从中传递参数时,我都希望将其调用。 谢谢! 问题答案: 我不明白你为什么会得到这个错误,但你应该做的和: Wrapping the function cal

  • 让我们假设下面的方法(从番石榴的Iterables说): 这个系列: 然后编译以下代码并正确导出泛型 (在Guava中,这将返回< code>objs中所有字符串的iterable。) 但是现在让我们假设以下类: 我不知道如何调用并获取

  • 本文向大家介绍JavaScript函数的调用以及参数传递,包括了JavaScript函数的调用以及参数传递的使用技巧和注意事项,需要的朋友参考一下 JavaScript 函数调用 JavaScript 函数有 4 种调用方式。 每种方式的不同方式在于 this 的初始化。 this 关键字 一般而言,在Javascript中,this指向函数执行时的当前对象。 Note 注意 this 是保留关键