Декодируйте закодированное значение непосредственно в view / html - PullRequest
0 голосов
/ 18 мая 2018

Я отправляю форму для размещения вакансии и обладаю такими навыками, как 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 Ответ

0 голосов
/ 18 мая 2018

encodeURIComponent - это встроенная функция JavaScript, вы не можете получить к ней доступ непосредственно в шаблоне AngularJs.Преобразуйте это в функцию $ scope , затем попробуйте получить доступ из шаблона 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)}}

Также, пожалуйста, проверьте этот поршень для примера сценария с приведенными выше примерами.

...