2016-04-18 9 views
0

X3DOMでangular.jsを使用しようとしています。私は形状(この場合は球)を作成し、ユーザーがそれをクリックしたときに何かをしたいと思っています。私はそれを従来のonclickメソッドを使って動作させることができました。しかし、angleのng-clickに切り替えると、イベントが発生しません。残念ながら、私が表示したいデータはコントローラ内に格納されているので、角度onclickを使用することは必要不可欠です。ng-click X3Dom shape

私は少しの研究をしましたが、おそらくangular.jsはX3DOMと100%互換ではないので、これは問題の一部であると推測しています。しかし、私は他の角度指示を問題なく使用しています。このエラーの周りに方法があるか知っていますか?

コードサンプル:私はX3DOMは、タグ内の実際のノードにキャンバス上のクリックイベントを変換する必要があり、x3domはng- abaout知らないとあなたは、標準のonclickイベントを使用する必要があると思います

<transform translation="{{datum['Market Loading']}} {{datum['Growth Loading']}} {{datum['Size Loading']}}" ng-repeat="datum in energy.data" ng-hide="energy.hide === true" onclick=""> 
    <shape> 
     <appearance> 
      <material class="energy" diffuseColor="{{energy.color.join(' ')}}" transparency="{{energy.hide}}"></material> 
     </appearance> 
     <sphere radius="{{datum['Specific Risk']}} ng-click="DO SOMETHING"></sphere> 
    </shape> 
</transform> 
+0

plnkrを作成できますか? –

答えて

0

クリック。 標準のonclickハンドラでは、角度スコープを取り出すことができます。 (untestet)このような

何か:

<sphere radius="{{datum['Specific Risk']}} onclick="myclick(event)"></sphere> 

と標準のonclickイベントハンドラ:

function myclick(event) { 
    // TODO: add more error handling 
    var scope = angular.element(event.target).scope(); 
    scope.yourAngularClickHandler(event); 
} 

これは少し醜いともすべてのクリックでDOM要素からスコープをも取得しています遅くなる。私はonmousemoveイベントと似たようなことをしていて、速度は大丈夫です。スコープが準備できていないか見つからない場合は、エラー処理を追加することを忘れないでください。

関連する問題