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');

09-18 21:03