代码之家  ›  专栏  ›  技术社区  ›  Nicoleta Wilskon

直接在view/html中解码编码值

  •  0
  • Nicoleta Wilskon  · 技术社区  · 6 年前

    我正在提交一份工作申请表,并具备以下技能 C# 在我的休息API中进行了逃逸。所以我对这些技能进行编码并发送到后端。

    "skills":encodeURIComponent(skills)
    

    现在当我恢复我正在做的技能时 decodeURIComponent 为了我 skills

    $scope.skills = decodeURIComponent(skills);
    

    但这不适用于数据数组,当我想获取作业列表时,数据将进入数组,我的数组有将近15个键值,这些键值将在表中以某种方式使用。编写一个新的数组,并将每个值再次推送到数组中,将解码的技能推送到一个大过程中。

    直接解码视图中的值的任何解决方案,即HTML

    我试过了 {{decodeURIComponent(item.skills) }} 但没有运气。

    样本数据:

    {
      "json": {
        "response": {
          "statusmessage": "Success",
          "count": 59,
          "data": [
            {
              "employerId": 2,
              "employerEmail": "sumit@infosoftjoin.in",
              "employerName": "SumitKumar",
              "companyName": "Infosoftjoin%20pvt%20ltd.",
              "jobId": 142,
              "jobTitle": "Test%20case%201",
              "jobDescription": "<p>ahdu%29%28@*%29*W%29%28*%29E%26%3D--%3D</p>",
              "link": "http://www.infosoftjoin.in",
              "numberOfPositions": 5,
              "createdTime": "18-May-2018",
              "lastUpdatedTime": "18-May-2018",
              "consumedCredits": 44,
              "location": {
                "city": "North And Middle Andaman",
                "state": "Andaman and Nicobar Islands",
                "country": "India"
              },
              "skills": [
                "C%23.NET"
              ],
              "approved": 1,
              "status": "Approved"
            },
            {
              "employerId": 2,
              "employerEmail": "sumit@infosoftjoin.in",
              "employerName": "SumitKumar",
              "companyName": "Infosoftjoin%20pvt%20ltd.",
              "jobId": 130,
              "jobTitle": "New%20job",
              "jobDescription": "hryuyurfkituo8",
              "link": "http://www.infosoftjoin.in",
              "numberOfPositions": 5,
              "createdTime": "16-May-2018",
              "lastUpdatedTime": "16-May-2018",
              "consumedCredits": 93,
              "location": {
                "city": "Nicobar",
                "state": "Andaman and Nicobar Islands",
                "country": "India"
              },
              "skills": [
                "APACHE TOMCAT"
              ],
              "approved": 1,
              "status": "Approved"
            }
    
          ]
        }
      }
    }
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Immanuel Kirubaharan    6 年前

    编码成分 是一个javascript内置函数,您不能直接在AngularJS模板中访问它。把它转换成 美元范围 函数,然后尝试从AngularJS模板访问。

    我建议您为相同的函数使用一个过滤器,而不是$scope函数。

    过滤器:

    app.filter('decodeFilter', function() {
        return function(input) {
            return decodeURIComponent(input);
        };
    });
    

    模板:

    {{item.skills | decodeFilter}}
    

    如果仍然希望将其作为$scope函数,请尝试以下代码:

    控制器:

    $scope.decodeComponent=function(value){
        return decodeURIComponent(value);
    }
    

    模板:

    {{decodeComponent(item.skills)}}
    

    另外,请检查 this plunker 对于上面的示例场景。