模板 - 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'
,但它无效。
答案 0 :(得分:1)
ng-checked用于评估表达式:
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
。
答案 1 :(得分:0)
您必须在“收音机”输入中添加“值”
<input type="radio" ng-model="myRadio" value="1" />
稍后在您的代码中
$scope.myRadio = "1" // check radio
$scope.myRadio = "0" // radio not checked
演示: