Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在ng类中传递带参数的函数以获取类_Javascript_Angularjs - Fatal编程技术网

Javascript 在ng类中传递带参数的函数以获取类

Javascript 在ng类中传递带参数的函数以获取类,javascript,angularjs,Javascript,Angularjs,我正在尝试使用ng类的角度。我有一个函数,它根据我们发送给它的参数返回类。我怎样才能做到呢 以下是我尝试过的: <div ng-class="{ getClass(key) }" > 只要返回一个字符串就行了。但当我添加这个anfull.forEach时,它就停止了。在调试器中,循环工作正常并返回正确的数据 我知道它可以通过过滤器实现,但我只想这样做。您不应该使用单个花括号,只需将它们移除即可: <div ng-class="getClass(key)"> 或者您可以

我正在尝试使用ng类的角度。我有一个函数,它根据我们发送给它的参数返回类。我怎样才能做到呢

以下是我尝试过的:

<div ng-class="{ getClass(key) }" >
只要返回一个字符串就行了。但当我添加这个anfull.forEach时,它就停止了。在调试器中,循环工作正常并返回正确的数据


我知道它可以通过过滤器实现,但我只想这样做。

您不应该使用单个花括号,只需将它们移除即可:

<div ng-class="getClass(key)">
或者您可以使用更简单的版本:

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

你可以这样做

myapp.controller('myCtrl', function ($scope) {


      $scope.getClass = function(a){
            return a;
      } 
});
和在模板中

    <div ng-class="getClass('red')">text</div>
文本

您正在从的回调函数中为每个方法返回值..,这不正确..,因为您希望从getclass方法返回值 试试这个

  $scope.getclass =function(k){
  Var c="";
   angular.foreach(arr,function(v){
   //to do
      c=k;
   });

    return c;
   };

使用双大括号并检查是否也可以添加阵列?嘿!我试过这个。但它不起作用。在调试器中,函数返回类,但它没有反映在HTML中。您的问题已更改,我已更新了答案,它现在应该可以工作了。PS:您确定在调试器中getClass返回类,还是只在forEach中看到您的console.log?如果我希望在呈现模板时调用它怎么办?我尝试了这个。在我的例子中,当简单地返回某个东西时,它是有效的。但是我也使用了一个
角度.forEach
。我加上这个之后,它就停止工作了。在调试器中,它发送正确的值。但它没有反映在HTML中。@charger73不从forEach回调返回。.设置一些变量。.从getClass方法返回值
myapp.controller('myCtrl', function ($scope) {


      $scope.getClass = function(a){
            return a;
      } 
});
    <div ng-class="getClass('red')">text</div>
  $scope.getclass =function(k){
  Var c="";
   angular.foreach(arr,function(v){
   //to do
      c=k;
   });

    return c;
   };