【问题标题】:Angular JS functions with multiple parameters具有多个参数的 Angular JS 函数
【发布时间】:2016-10-19 11:30:48
【问题描述】:

在我的 Angular 工厂中,我有 3 个函数返回一些代码的名称,具体取决于它们的类型:吃、感觉和来源。这是功能之一

   getFeelingCode: function(feelingCode) {
        var feelTag=$filter('filter')(constant.feeling_code, {code: feelingCode}, function(a, b) {
          return a === b;
        });
      if(feelTag[0])
         return feelTag[0].label;
      else
         return feelingCode;
     }

这 3 个函数基本上做同样的事情,我想将它们转换为一个函数,如下所示:

vApp.factory('BgsFactory', function(constant, $filter) {
  return {  
      getCode: function(Code, StringCode) {
        var cst; 
        switch(StringCode) {
          case "eating_code": cst = constant.eating_code; break;
          case "feeling_code": cst = constant.feeling_code; break;
          case "source_code": cst = constant.source_code; break;
        }
        var Tag=$filter('filter')(cst, {code: Code}, function(a, b) {
          return a === b;
        });
      if(Tag[0])
         return Tag[0].label;
      else
         return Code;
    }

在我看来,我是这样称呼他们的

 <td>{{getSourceCode(item.tags.source)}}</td>
   <td>{{getEatingCode(item.tags.eat_code)}}</td>
   <td>{{getFeelingCode(item.tags.feeling_code)}}</td>

但我不知道如何在我的控制器中设置它们。我尝试了类似的方法,但没有说这些功能不存在。

$scope.getEatingCode = BgsFactory.getCode("eating_code");
$scope.getFeelingCode = BgsFactory.getCode("feeling_code");
$scope.getSourceCode = BgsFactory.getCode("source_code");

我应该如何传递参数?

谢谢!

【问题讨论】:

    标签: angularjs factory


    【解决方案1】:

    如果我没弄错,会是这样的

    $scope.getEatingCode = function(code) { return BgsFactory.getCode(code, "eating_code"); };
    $scope.getFeelingCode = function(code) { return BgsFactory.getCode(code, "feeling_code"); };
    $scope.getSourceCode = function(code) { return BgsFactory.getCode(code, "source_code"); };
    

    【讨论】:

    • 是的,这就是我要找的。成功了,谢谢!
    猜你喜欢
    • 1970-01-01
    • 2013-09-30
    • 2017-01-31
    • 2020-08-29
    • 1970-01-01
    • 2013-08-02
    • 2015-04-25
    相关资源
    最近更新 更多