当前位置: 首页 > 面试题库 >

将ngTrueValue和ngFalseValue设置为数字

翟棋
2023-03-14
问题内容

更新 :对于最新的Angular版本,该问题已过时,请参阅tsh对此职位的评论

我已经将复选框绑定到一个值:

<input type="checkbox" ng-model="checkbox" ng-true-value="1" ng-false-value="0" />

控制器中复选框的值设置为1:

function Controller($scope) {
    $scope.checkbox = 1
}

但是,最初该复选框未显示为选中状态。如果我将的初始值更改$scope.checkbox"1",则可以。(jsfiddle演示)

我尝试了各种变化:

ng-true-value="{{1}}"
ng-true-value="{{Number(1)}}"
ng-true-value="{{parseInt('1')}}"

他们都不工作。如何使angular将参数视为数字?


问题答案:

您可以使用 ngChecked
,如果表达式为真,则将在元素上设置特殊属性“ checked”

<input type="checkbox" 
    ng-model="checkbox" 
    ng-true-value="1" 
    ng-false-value="0" 
    ng-checked="checkbox == 1" />

您可以使用$scope.$watch将其转换为数字

$scope.$watch(function(){
    return $scope.checkbox;
}, function(){
    $scope.checkbox = Number($scope.checkbox);
    console.log($scope.checkbox, typeof $scope.checkbox);
},true);

演示



 类似资料:
  • 问题内容: 我有一个JComboBox,其中的项目是查询的结果。该组合显示了来自查询的所有类别名称,对吗?好的,可以。现在,我需要为每个项目赋予一个值,该值就是产品的ID。 到目前为止,这是我得到的: 正如您在代码中看到的那样,每个项目的“标签”都是它的名称。现在,如何设置每个项目的ID,以便以后进行操作? 谢谢,并尝试轻松回答,我正尽最大努力尝试获取Java东西!哈! 问题答案: 默认情况下使用

  • 我有一个JComboBox,其中项目是查询的结果。组合显示了从查询中获取的所有类别名称,对吗?好的,它起作用了。现在我需要给每个项目一个值,这将是产品的ID。 这是我到目前为止得到的: 正如您在代码中看到的,每个项目的“标签”都是它的名称。现在,如何设置每个项目的ID,以便我可以操作之后? 谢谢,试着轻松回答,我很难得到这个Java的东西!哈!

  • 我有这样的方法。 API返回数据如下: 并且我需要将Fetch Data设置为innerHTML Boostrap卡。但要做到这一点,我需要将fetch数据设置到数组中。我如何设置我的取数组,以及如何设置取数到innerHTML Boostrap卡..? 谢谢..!

  • 问题内容: 我同时使用默认的MAMP端口(分别为8888和8889)运行apache和mySQL,并且一切正常,但是当我将端口分别切换为Apache的80和mySQL的3306时,mySQL服务器无法重新启动。 我正在尝试将MAMP设置为在这些端口上运行,因为显然,这对于在Dreamweaver中进行开发是最佳的…因此,鉴于我想为Dreamweaver提供理想的开发环境,是否有办法使用3306端口

  • 问题内容: 在IPython 3交互式shell中: 那是因为1和True获得相同的插值,所以考虑到集合消除了重复项,所以只有其中一个(True)得以保留?我们如何保持两者? 问题答案: 集合是哈希的集合。即使该语句为False,该语句为True。因此,它们具有相同的哈希值,并且不能单独存在于集合中,并且 不能将它们都保留在集合中 编辑 使其明确,正如jme指出的,这是因为这两个都是正确的-它们相

  • 假设我想要一个变量包含从1到100的数字。我可以这样做: 但是把所有这些数字写下来需要很多时间。有没有办法给这个变量设置一个范围?类似的东西: 这听起来可能是一个非常愚蠢的问题,但我自己还没有弄清楚。提前感谢。