в чем разница / несовместимость между ng-моделью и ng-значением?

<p>насколько я понял, ng-model устанавливает значение для того конкретного элемента, которому назначена модель. учитывая, что чем ng-значение отличается от ng-модели?</p>

<p>работает в сочетании с ng-моделью; для радиоприемников и селекторов это значение, которое устанавливается для ng-модели при выборе этого элемента. используйте его как альтернативу атрибуту 'value' элемента, который всегда будет хранить строковое значение для связанной ng-модели.</p><p>в контексте переключателей это позволяет вам использовать не строковые значения. например, если у вас есть переключатели "да" и "нет" (или эквивалентные) со значениями "истина" и "ложь" - если вы используете "значение", значения, сохраненные в вашей ng-модели, станут строками. если вы используете 'ng-value', они останутся логическими значениями.</p><p>однако в контексте элемента select обратите внимание, что значение ng по-прежнему будет всегда рассматриваться как строка. чтобы установить нестроковые значения для выбора, используйте ngoptions.</p>

<p>простое описание</p><p><strong>нг-модель</strong></p><ol> <li>используется для двухстороннего связывания переменной, которая может быть доступна как в области видимости, так и в формате html.</li> <li>который имеет <code>$modelvalue (значение находится в фактической области видимости) & $viewvalue</code> (значение отображается при просмотре).</li> <li>если вы упомянули в форме с атрибутом имени, то angular внутренне создает для него атрибуты проверки, такие как $ error, $ valid, $ invalid и т.д. <strong>например.</strong><input type="text/checkbox/radio/number/tel/email/url" ng-model="test"/> <strong>нг-значение</strong> используется для присвоения значения соответствующему ng-model значение типа input, select & textarea (то же самое можно сделать с помощью ng-init) ng-value обеспечивает хорошее связывание, если вы настраиваете ng-model значение через ajax при записи атрибута value не поддерживает его в основном предназначен для использования тега radio & option при динамическом создании параметров select. он может иметь только значение string, он не поддерживает значение объекта. <strong> html </strong><input [ng-value="string"]> ... </input> <strong> или </strong><select ng-model="selected"> <option ng-value="option.value" ng-repeat="option in options"> {{option.name}} </option> </select> ...

хорошее использование для ng-value в полях input, если вы хотите связать переменную, но на основе значения другой переменной. пример:the code is {{model.code}}. set the new code: <input type="text" ng-bind="model.code" /> когда пользователь вводит input, значение в заголовке будет обновлено. если вы не хотите этого, вы можете изменить на:<input type="text" ng-value="model.code" ng-bind="model.thenewcode" /> thenewcode будет обновлено, но code останется нетронутым.

согласно <a href="https://docs.angularjs.org/api/ng/directive/ngvalue">https://docs.angularjs.org/api/ng/directive/ngvalue , <strong> ngvalue </strong> принимает " угловое выражение, значение которого будет связано с атрибутом значения входного элемента ".поэтому, когда вы используете ng-value = "hard", оно интерпретируется как выражение, а значение привязывается к $ scope.hard (который, вероятно, не определен). ngvalue полезен для оценки выражений - он не имеет преимущества перед значением для установки жестко закодированных значений. тем не менее, если вы хотите жестко закодировать значение с помощью ngvalue, вы должны заключить его в '':</p><p>нг-значение = "" жесткий"</p><p><strong> ng-модель </strong> предназначена для размещения внутри элементов формы и имеет двустороннюю привязку данных ($ scope -> view and view -> $ сфера) например <code><input ng-model="val"/>.</code></p><p>или вы можете сказать, что директива <strong> ng-model </strong> связывает значение элементов управления html (input, select, textarea) с данными приложения.</p>

<p>в документации четко указано, что <code>ng-value</code> не следует использовать при выполнении <strong> двустороннего </strong> связывания с <code>ng-model</code>.</p><p>из документов:</p><blockquote> <h1>ngvalue</h1> <p>привязывает данное выражение к значению элемента.</p> <p>его также можно использовать для достижения <strong> односторонней </strong> привязки данного выражения к элементу ввода, такому как <code>input[text]</code> или <code>textarea</code>, <strong>, когда этот элемент не использует </strong> <code>ngmodel</code>.</p> <p>- <a href="https://docs.angularjs.org/api/ng/directive/ngvalue">angularjs <code>ng-value</code> директива api reference</a> </p> </blockquote><p>вместо этого инициализируйте значение из контроллера:</p>