【问题标题】:Angular tag inside html elementhtml元素内的角度标签
【发布时间】:2015-08-07 21:38:32
【问题描述】:

我有以下角码:

<div ng-repeat="creation in creations">
   <input type="checkbox" data-foobar="[[creation.foobar]]" [[creation.params]]>
   [[creation.params]]
</div>

就是这样,问题是creation.params 包含“禁用选中”或“选中”值,它应该创建禁用复选框,但它没有。不知道为什么,所有的复选框都没有选中。

即使我稍后显示creation.params 变量时,它也显示正确的值:

disabled checked
disabled checked
disabled checked
checked
disabled checked

5 个复选框 - 但都未选中。

怎么了?

顺便说一下,我用过:

$interpolateProvider.startSymbol('[[').endSymbol(']]');

【问题讨论】:

  • 为什么要用方括号?需要用大括号{{ }}
  • $interpolateProvider.startSymbol('[[').endSymbol(']]');
  • 我认为您应该为此使用 ng-disabledng-checked 指令。

标签: javascript html angularjs checkbox


【解决方案1】:

最简单的方法是使用ngChecked

如果您想要更多控制检查official documentation 并按照描述为您的问题建模,它会起作用。将ng-modelng-true-valueng-false-value 一起使用。

编辑:

function isChecked(param) {
    return param === 'checked'; 
}

或直接在模板中:

ng-checked="creation.params === 'checked'"

【讨论】:

  • 如果这个变量是“checked disabled”或“checked”,我该怎么做?
  • 你可以在你的控制器中创建一个函数return param === 'checked';