您可以创建自定义指令而不是使用 ng-checked,它将处理基础的附加标记。它可能不是闲置的方式,但它会解决你的问题,因为它对基础实现等了解太多。
来自原始博客文章的指令片段
directive('ngCheckedFoundation',['$timeout', function($timeout) {
function markCheckBox(value, scope, element, attr) {
//timeout to avoid the foundation javascript action changed by this directive
$timeout(function() {
if(value) {
attr.$set("checked", true);
element.next().addClass('checked');
}
else {
attr.$set("checked", false);
element.next().removeClass('checked');
}
}, 200);
}
function link (scope, element, attr, ctrl) {
scope.$watch(attr["ngCheckedFoundation"], function(n,o) {
if(n != o) {
markCheckBox(n, scope, element, attr);
}
});
markCheckBox(scope.$eval(attr.ngCheckedFoundation), scope, element, attr);
}
return({
link: link,
restrict: "A",
});
}])