0

data 属性を使用して、HTML で次のようなクイズを作成するとします。

<p>The cow ran in front of the <input data-answer="car"></input>.</p>
<p>Then the <input data-answer="man"></input> hit the breaks.</p>

AngularJS で data-answer 属性にアクセスするにはどうすればよいですか? .data メソッドを使用して jQuery でそれを行う方法を知っています。AngularJS に相当するものはありますか? 私はこれをすべて間違っていますか?jQuery を使用する必要がありますか?

4

2 に答える 2

2

はい、あなたはそれをすべて間違っています:P. AngularJS では、DOM 要素を直接操作する必要はほとんどありません。通常、データのみを操作します。

この場合、データを保持するコントローラーと、それを表示するための HTML が必要です。例えば:

function AnswerController($scope){
    $scope.doSomething = function(){
        //do something with $scope.man and $scope.car
    }
}

<p>The cow ran in front of the <input ng-model="car" /><p>
<p>Then the <input ng-model="man" /> the breaks.</p>

<input ng-model="answers.man" />すべての回答を含む 1 つの結果オブジェクトを取得するために使用することもできます。

チュートリアルを試して、Angular の基本概念に慣れてください。最も重要なルール (開始時に自分自身に繰り返さなければならない) は、jQuery をほとんど使用しないことです。jQuery を使用する必要がある場合(めったに使用しません)、コントローラーからは決して使用せず、常にディレクティブから使用してください。

AngularJS ホームページの「JavaScript プロジェクト」の例も非常に役立ちます。

于 2013-10-21T20:51:42.283 に答える
1

ディレクティブを使用します。ディレクティブ内にlink関数があります。

link: function(scope, elem, attrs) {
    console.log(attrs.answer); //manipulate as you need
}

Angular には jqLit​​e も付属しています。jQ ライブラリ全体を実装する前に、必ず確認してください。

于 2013-10-21T20:39:13.973 に答える