AngularJS中是否有与jQuery的.data()方法等效的方法?

bvhaajcl  于 2023-03-11  发布在  Angular
关注(0)|答案(2)|浏览(133)

假设我使用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属性?我知道如何在jQuery中使用.data方法。在AngularJS中是否有等效方法?我是否做错了?我应该只使用jQuery吗?

bqujaahr

bqujaahr1#

在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" />来获取包含所有答案的结果对象。
一定要尝试tutorial来熟悉Angular 的基本概念。最重要的规则(当你开始的时候你真的要对自己重复)是:如果你必须要使用jQuery(你很少这样做),那么就不要从控制器中使用它,而总是从指令中使用它。
AngularJS主页上的“JavaScript项目”示例也非常有帮助。

7vux5j2d

7vux5j2d2#

使用一个指令,在该指令中有一个link函数:

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

Angular还附带了jqLite,在实现整个jQ库之前一定要检查一下。

相关问题