如何在angularjs视图中使用此上下文?

时间:2015-08-19 06:38:58

标签: angularjs this

好吧,我不知道这样的事情是否可能?所以,让我们来询问并找出答案。

<input name="link" ng-model="addItemLink" ng-class="{'input-blink': this.$pristine}" />

一般来说,我们是否能够在角度视图中使用关键字this?你能不能让我走上一条通往这里类似事物的道路?

P.S:我已经知道正常的角度形式验证以及如何正确访问$ pristine。我想在这里了解this? 呃,我猜$ pristine在形式之外是完全未定义的,不是吗?

1 个答案:

答案 0 :(得分:1)

  

我们是否能够在角度视图中使用关键字

是的,当然,但它并不经常使用,因为它并不意味着我们习惯于this指出的。在Angular视图中,指令(在属性中)this指向当前的$scope对象而不是当前的HTMLElement对象。

例如,您可以使用thismyForm的{​​{1}}名称)来修复代码:

form

但在这种情况下,<input name="link" ng-model="addItemLink" ng-class="{'input-blink': this.myForm.link.$pristine}" /> 非常多余。当您需要使用this时,可能会出现后方情况,例如使用模型的动态名称:

this

并在HTML中:

$scope.name = 'user';

相当于手动硬编码<input ng-model="this[name]"> 作为模型user