I'm using Famo.us + Angular.通过执行以下操作,我可以检索Surface的classList:
$scope.findElement = function() {
var elem = $famous.find("#colored-bg")[0].renderNode; // Returns Surface
console.log(elem.classList); // RETURNS: ["purple-bg", "container-border", "box-shadow"]
};
您无法对Famo.us对象执行任何对DOM上任何其他对象的正常操作。例如,我以为我可以添加,删除或替换类似于以下内容的类:
document.getElementById('id').classList.add('class');
document.getElementById('id').classList.remove('class');
但是,添加和删除不存在。我可以返回班级列表,甚至可以返回列表中的单个项(例如:仅是第一堂课),但是您不能更改它。有什么建议么?
最佳答案
setClasses
方法采用一个数组,您可以使用以下方法设置类:
renderNode.setClasses(['white-bg', 'big-text']);
通过传递类名称来使用
addClass
,以使用以下方法添加类:renderNode.addClass('big-text');
通过传递类名称来使用
removeClass
来删除类,方法是:renderNode.removeClass('big-text');
通过传递类名称来使用
toggleClass
,以基于其是否存在来添加/删除:renderNode.toggleClass('big-text');