我正在根据指令构建调查问卷,根据某些期望显示正确的input
。这些期望(包括来自用户的任何先前给出的输入)来自父$scope
。一切都在AngularJS的指令定义对象的link
函数中设置
使用md-checkbox
时出错的地方:指令内的复选框的ng-model
设置为true
,md-checkbox
仍为false。我可以通过添加一个具有相同input type="checkbox"
属性的简单ng-model
来确认,选中简单复选框,而md-checkbox
不是。
每当我点击md-checkbox
两次,就会检查它。所以我认为绑定有问题。我构建了一个CodePen来演示它。笔中的代码几乎是从我的源代码中逐字记录的
我已经尝试过的东西:
$scope.$apply()
函数link
$scope.$digest()
$timeout
(作为'安全'$apply()
的方式)true
或false
)存储在变量中,将ng-model
属性设置为undefined
,然后将其设置回来存储的值,全部在$timeout
我在这里失去了,看起来很简单,因为所有其他输入都有正确的数据。
答案 0 :(得分:1)
Depending on your codepen the problem is class="md-checkbox-{{expression}}"
. I forked your codepen. You can use ng-class
. I think this is a bug.
答案 1 :(得分:1)
Replace class with ng-class because ng-class lets you to dynamically bind the class to the element