1

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"]
};

DOM 上の他のオブジェクトに対して通常実行できる操作を Famo.us オブジェクトに対して実行することはできません。たとえば、次のようなクラスを追加、削除、または置換できると考えました。

document.getElementById('id').classList.add('class');
document.getElementById('id').classList.remove('class'); 

ただし、追加と削除は存在しません。クラス リスト、およびリストの個々の項目 (例: 最初のクラスのみ) を返すことはできますが、それを変更することはできません。助言がありますか?

4

2 に答える 2

0

Famo.us の Slack チャットでの Tony Alves の厚意により、次のように理解しました。

renderNode.setClasses(['white-bg']);

この情報はgithub docsにあります。したがって、関数全体は次のようになります。

$scope.findElement = function() {
    var elem = $famous.find("#colored-bg")[0].renderNode;
      console.log(elem);
      elem.setClasses(['white-bg']);
    console.log(elem.classList);  // RETURNS: ["white-bg"]
  };

setClasses は、Fa-Surface に配置する文字列の配列を受け入れます。

于 2015-06-16T20:03:01.707 に答える