ng-check ='true' не работает

Шаблон - 1

<ul>
  <li>
    <label><input type="radio" ng-checked="true" /> One</label>
  </li>
  <li>
    <label ng-click="ctrl.goToTwo()"><input type="radio" /> Two</label>
  </li>
<ul>

Шаблон - 2

<ul>
  <li>
    <label ng-click="ctrl.goToOne()"><input type="radio" /> One</label>
  </li>
  <li>
    <label><input type="radio" ng-checked="true" /> Two</label>
  </li>
<ul>

В приведенном выше HTML, я просто перенаправить пользователя на шаблон 1 на шаблон 2 с помощью переключателей.

Вопрос, который я четко упомянул ng-checked=true в одном переключателе в обоих шаблонах. Но я не знаю, почему они оба не проверяются во время загрузки.

Пожалуйста, дайте мне знать, если я что-то упустил, или мне нужно что-то еще сделать.

примечание: я пытался играть с ng-model='one' а также vm.type='one' но это не работает.

2 ответа

ng-check используется для оценки выражения:

ngChecked

Устанавливает checked атрибут на элемент, если выражение внутри ngChecked это правда

Итак, используя ng-checked="true" будет искать $scope.true переменная, которая, очевидно, не то, что вы ищете.


Если вы используете ng-model на ваших входах, вы можете по умолчанию установить ng-model значение:

<div ng-init="ctrlNumber = 1">
    <input type="radio" ng-model="ctrlNumber" value="1"/>
    <input type="radio" ng-model="ctrlNumber" value=2"/>
</div>

Когда вы отправите свою форму, проверьте ctrlNumber значение: если 2 позвони ctrl.goToTwo() функция.

Обратите внимание, что вы также можете установить это значение в вашем контроллере, без ng-init ,

Вы должны добавить "значение" на вход "радио"

<input type="radio" ng-model="myRadio" value="1" />

позже в вашем коде

$scope.myRadio = "1" // check radio
$scope.myRadio = "0" // radio not checked

Демо-версия:

https://codepen.io/anon/pen/QvKNOQ

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