Как установить значение, равное строке в AngularJS?

#javascript #html #angularjs

#javascript #HTML #angularjs

Вопрос:

У меня есть следующий код в HTML для моего приложения, которое использует AngularJS. Я пытаюсь установить company_id равным идентификатору компании по щелчку мыши. единственная проблема в том, что идентификатор компании имеет тип string, и он не работает. хотя это работает, если я просто вставляю целое число. Вот как выглядит мой код:

     <div id="wrapper">
  <div id="input" ng-init="company_id = ''">


      <div>
            {{ company_id }}
     </div>

        <button ng-repeat="company in companies" ng-click="$parent.company_id = {{ company.id }}">
            {{ company.name }}
        </button>


        <a href='#vote'>
            <input id="locationSubmit"  class="button"  type="button" value="Submit" />
         </a>

         <button ng-click="company_id = 25" ng-init="count=0">
          Increment
        </button>
  </div>
  

и вот как это выглядит, когда я отображаю его в браузере с идентификаторами
Конечно, это связано с тем, что печатается больше, чем это. Проблема в том, что когда я нажимаю на кнопку company, она не может изменить значение, если я не выну {{ company.id }} и введите целое число, так как же я могу получить разрешение на установку значения в строку?

 <button ng-repeat="company in companies" ng-click="$parent.company_id = 0" class="ng-scope ng-binding">
            Sigma Chi Fraternity
        </button>
  

Комментарии:

1. вы пробовали {{ company.id }} без фигурных скобок, т.е. просто ng-click=»$parent.company_id = company.id «?

2. Ах. наиболее очевидное решение.. Спасибо! 🙂

Ответ №1:

Вы не должны интерполировать переменные внутри собственной ng-click директивы angular.

Измените следующее:

  ng-click="$parent.company_id = {{ company.id }}"  
  

Для

  ng-click="$parent.company_id = company.id"