【问题标题】:ng-checked is not working in angularjsng-checked 在 angularjs 中不起作用
【发布时间】:2014-08-08 05:36:50
【问题描述】:

ng-checked 遇到了一个奇怪的问题。我在我的编辑表单中应用它以显示选定的选项值,但它不起作用。以下是我的代码和屏幕截图 -

我的控制器代码 -

  if( true == $scope.employee.active ) {
    $scope.is_active_yes = true;
    $scope.is_active_no = false;
  }
  else {
    $scope.is_active_yes = false;
    $scope.is_active_no = true;
  }
});

我的 Jade 模板中的代码 -

.row
  .control-label.col-md-3 Is Active:
  .col-md-6
    input(type="radio", name="active", ng-model="employee.active", value="yes" ng-checked="{{is_active_yes}}")
    | Yes
    input(type="radio", name="active", ng-model="employee.active", value="no" ng-checked="{{is_active_no}}")
    | No

虽然ng-checked 的值出现在我的表单中,但它不适用于标记。让我知道我在这里做错了什么?

仅供参考 - 控制台中没有错误,并且您可以在屏幕截图中查看数据。

【问题讨论】:

  • 应该是ng-checked="is_active_yes"
  • @CodeHater Oh wow ..是的就是这样..你能告诉我为什么在这种情况下它不应该使用{{ }},因为我应该在我们需要的翡翠模板中获取值添加这个
  • @CodeHater 请将其粘贴为答案..如果可能的话,解释一下,因为它解决了我的问题,然后我会接受它

标签: javascript html angularjs pug


【解决方案1】:

ngChecked 指令适用于 expressions,而不适用于插值。所以不要将你的表达式包含在{{ }}

ng-checked="is_active_yes"

【讨论】:

  • 它工作正常,但每当我保存编辑表单时,它会丢失值,尽管其他值仍保留在表单上......让我知道我做错了什么?
  • 创建一个fiddle或者分享相关的html和控制器代码。
  • 这是我的错..实际上我将布尔值保存在 mongo 中,但我有是/否(字符串)声明的收音机值...只是将它们更改为 true/false 并且所有工作很好...已解决...谢谢您的帮助 :) 并度过一个 g8 日 :)
【解决方案2】:

ng-checked 是一个 Angular 属性。因此,它不需要 {{ }} 来插入您传递的范围变量的值。因此,您可以直接将属性中的变量名称用作

ng-checked="is_active_yes"

【讨论】:

  • 那为什么我添加 ng-checked="employee.active" 不工作?如果我使用上述方法保存编辑表单,所有值都保留在页面上,但我失去了无线电选择的范围
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-08-06
  • 1970-01-01
  • 1970-01-01
  • 2014-03-09
  • 2016-02-06
  • 2023-03-28
相关资源
最近更新 更多