假设我使用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吗?
答案 0 :(得分:2)
是的,你做错了:P。在AngularJS中,您很少需要直接操作DOM元素。通常你只操纵数据。
在这种情况下,您需要一个保存数据的Controller,以及用于显示数据的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个结果对象。
请务必尝试tutorial以熟悉Angular的基本概念。最重要的规则(当你开始时你必须重复自己)是:几乎从不使用jQuery。如果您 使用jQuery(您很少这样做),那么永远不会从控制器中使用它,但始终来自指令。
AngularJS home page上的“JavaScript项目”示例也非常有用。
答案 1 :(得分:1)
在指令中使用指令,您将拥有link
函数:
link: function(scope, elem, attrs) {
console.log(attrs.answer); //manipulate as you need
}
Angular还附带了jqLite,请务必在实现整个jQ lib之前检查它。