Угловой вход ng-bind не работает

Это код:

        <span>{{ vm.GetSalaryItemValue(salaryItem,detail) }}</span>
        <input type="number" class="form-control" data-ng-bind="vm.GetSalaryItemValue(salaryItem,detail)" />
        <textarea  class="form-control" data-ng-bind="vm.GetSalaryItemValue(salaryItem,detail)" rows="1"
                    ng-blur="vm.SalaryItemValueChanged($event,salaryItem,detail)"></textarea>               

span и textarea работают правильно и показывают значение, но входной тег не работает и ничего не отображает. (span и textarea только для тестирования) (salaryItem, детали передаются правильно), если я изменю ng-bind на ng-model, будет отображаться значение, но будет выдано сообщение об ошибке.

любая идея?

2 ответа

Решение

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

Измените код ввода для использования ng-model вместо ng-bind и назначить вывод vm.GetSalaryItemValue(salaryItem,detail) к переменной области видимости:

<div ng-init="inputNumber = vm.GetSalaryItemValue(salaryItem,detail)"></div>
<input type="number" class="form-control" data-ng-model="inputNumber" />

Вам необходимо назначить переменную области видимости, потому что ng-model не может выполнить функцию.

Другие вопросы по тегам