検索

ホームページ  >  に質問  >  本文

angular.js - angularjs中如何实现单击一个span标签之后,拿到span标签中的内容?

这里有很多爱好的描述,每个描述都是放在一个span标签里面,我给每个span标签都添加了ng-click='getHobby()',如何在$scope.getHobby=function(){}中拿到单击时对应的span标签内的描述?

我的方法:我尝试了在绑定getHobby()函数的时候,就在函数里面添加标签内的描述为参数, 比如这样getHobby("书虫"),这样也是可以的,但是不够优雅,并且在html又增加了很多代码,想听听各位的解决方案

过去多啦不再A梦过去多啦不再A梦2745日前688

全員に返信(5)返信します

  • 大家讲道理

    大家讲道理2017-05-15 16:57:27

    リーリー

    さまざまなタグは、スコープを通じてコン​​トローラーによってデータ制御される必要があります。Angular は常に既存のデータを記憶し、そのデータに基づいてインターフェースの操作をコントローラーに返して処理します。

    他の方法でページ上のタグリストを生成した場合

    <span ng-click="getHobby('Bookworm')">本の虫</span>
    <span ng....>インターネット</span>

    この崖は Angular の正しい使用方法ではありません。


    Angular を使い始めたばかりの場合、最初の考え方が Angular の使用に影響を与えないように、絶対的すぎる可能性があるルールに留意してください:

    1 コントローラー内で DOM 関連の操作を実行してはなりません
    2 DOM 関連の操作はすべてディレクティブに配置する必要があります

    返事
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-15 16:57:27

    元の投稿者は jquery のアイデアを使用して angular を構築していますが、angular には双方向のデータ バインディングがあるのでしょうか。
    投稿者への提案: angular の利点は、DOM を操作する必要がなくなったことです。angular を使用していて DOM を操作する場合は、他の方法がないか考えてください。

    返事
    0
  • 漂亮男人

    漂亮男人2017-05-15 16:57:27

    質問者が何をしているのか分かりませんが、jQueryの実装は非常に簡単です

    リーリー

    17:07 修正
    質問主は以下を参照できます:

    リーリー

    追記: jQueryのホームページの下におすすめの本があります
    Jquery .on()を参照してください
    AngularJS Events

    返事
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-15 16:57:27

    ng がループするときに、現在の要素を ngclick に渡すだけです。

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-15 16:57:27

    コマンドを書くだけです。 。
    コマンドのリンク関数でクリックイベントをバインドします。 。

    返事
    0
  • キャンセル返事