Javascript angular指令是如何实现的?
让我们举一个例子Javascript angular指令是如何实现的?,javascript,angularjs,Javascript,Angularjs,让我们举一个例子{{myVariable+1}} 据我所知,我只能将其解析为函数,并为其提供上下文 但是,该语句将因此变成{{this.myVariable+1}} angular是如何摆脱这个的?angular没有摆脱这个。在angular中,使用作用域在控制器和视图之间传递值此是函数执行上下文,这意味着调用当前函数或属性的对象 但是AngularJS的编写并不是为了在数据绑定中使用它,而是为了专门解析那些{{}数据绑定,并在相应控制器的范围对象上查找属性 因此,我们可以看到以下内容: <
{{myVariable+1}}
据我所知,我只能将其解析为函数
,并为其提供上下文
但是,该语句将因此变成{{this.myVariable+1}}
angular是如何摆脱这个的?angular没有摆脱这个。在angular中,使用作用域在控制器和视图之间传递值<代码>此是函数执行上下文,这意味着调用当前函数或属性的对象 但是AngularJS的编写并不是为了在数据绑定中使用它,而是为了专门解析那些
{{}
数据绑定,并在相应控制器的范围
对象上查找属性
因此,我们可以看到以下内容:
<div ng-controller="mainCtrl">
<p>{{myVariable}}</p>
</div>
{{myVariable}}
并且知道转到
mainCtrl
控制器并查看$scope
对象以查找myVariable
变量<代码>此从未进入 我想出了一个办法
var env = '';
for (var key in context) {
env = "var " + key + " = this." + key + ";\n";
}
var fn = new Function(env + 'return ' + script);
fn.call(context);
评估它并给它范围上下文?
这是当前控制器。如果没有此
,您将使用作用域@Jasny据我所知,您只能在控制器端使用此
,在视图端,您必须使用中的控制器别名作为