棱角指令是如何实现的?

时间:2015-07-06 01:35:18

标签: javascript angularjs

让我们举一个例子<p>{{myVariable + 1}}</p>

根据我的理解,我只能将其解析为Function,并为其提供上下文。

但是,此声明将成为<p>{{this.myVariable + 1}}</p>

角度如何摆脱this

2 个答案:

答案 0 :(得分:2)

Angular没有摆脱this。在angular中,您使用范围来在控制器和视图之间传递值。 this是函数执行上下文,这意味着它是调用当前函数或属性的对象。

但是AngularJS并没有编写在数据绑定中使用它,它被编写为专门解析那些{{}}数据绑定并在相应控制器的scope对象上查找属性。

所以Angular看到了以下内容:

<div ng-controller="mainCtrl">
    <p>{{myVariable}}</p>
</div>

并知道转到mainCtrl控制器并查看$scope对象以查找myVariable变量。 this永远不会进入它。

答案 1 :(得分:0)

我找到了一种方法来做到这一点。

rollapply(... mean(..., na.rm=T))