Угловатый.js-ng-model перезаписать мое ng-значение при вводе текста


Я начну с упоминания, что я очень новичок в Angular, поэтому я, вероятно, не делаю все правильно "Angular way".

У меня есть следующий ng-повтор циклического перебора некоторых данных-возвращаются правильные данные.

<tr ng-repeat="attribute in attributeCategory.attributes">
    <td>
        {{attribute.name}}
    </td>
    <td>
        <input type="checkbox" ng-model="attr.enabled" ng-checked="{{attribute.parameters.enabled}}" ng-change="updateAttribute(attr, {{attribute.attribute_id}})"/>
    </td>
    <td>
        <input type="checkbox" ng-model="attr.normalise" ng-checked="{{attribute.parameters.normalise}}" ng-change="updateAttribute(attr, {{attribute.attribute_id}})"/>
    </td>                
    <td>
        <input type="checkbox" ng-model="attr.reverse" ng-checked="{{attribute.parameters.reverse}}" ng-change="updateAttribute(attr, {{attribute.attribute_id}})"/>
    </td>
    <td>
        <input type="text" ng-model="attr.min_threshold" ng-value="{{attribute.parameters.min_threshold}}" ng-change="updateAttribute(attr, {{attribute.attribute_id}})"/>                    
    </td>
    <td>
        <input type="text" ng-model="attr.max_threshold" ng-value="{{attribute.parameters.max_threshold}}" ng-change="updateAttribute(attr, {{attribute.attribute_id}})"/>                    
    </td>
<tr>

По какой-то причине ng-значение в полях input="text" не отображается. Мне нужно передать данные из поля в функцию updateAttribute (), поэтому я привязываю модель к переменной attr, которую я передаю. Этот переменная затем используется для вызова API.

Если я уберу модель из текстовых полей, у меня будут правильные значения, но мне нужен кто-то, кто получит это значение и передаст его в функцию.

Если есть другой способ, которым я должен это сделать, пожалуйста, дайте мне знать :)

1 2

1 ответ:

Ng-значение не ment для intput [text]

Привязывает данное выражение к значению input [select] или input[radio], так что при выборе элемента ngModel этому элементу присваивается связанное значение.

См. docs

Кроме того, ng-change ожидает выражение, поэтому вам не нужно использовать {{}}

Используйте это вместо

ng-change="updateAttribute(attr,attribute)"