您可以创建自定义指令而不是使用ng-checked,它将处理基金会的附加标记。它可能不是空闲的方式,但它会解决你的问题,因为它知道太多关于基础实施等
指令段从original blog post
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",
});
}])
我只需要保持复选框设计一个这样或那样的。 Iguess我应该告诉基金会让他们独处 – apneadiving