我正在更新一个AngularJS应用程序,以使用肥箭头语法来表示匿名函数。我知道我需要使用1.5版本,但仍有一些问题无法解决。例如,在这里,我有一个自定义指令,将字符串“hello”传递给其控制器,然后作为警报输出该字符串:
但是这会警告“作用域变量为未定义(undefined)”。
如果我更改控制器的定义以使用ES5语法,那么它将警告“作用域变量为hello”,如预期。
我猜这与绑定
在传递作用域变量时,是否有使用“fat arrow”符号的方法?
<div data-my-directive="hello">Text that will be replaced by my-template</div>
angular
.module('myModule')
.directive('myDirective', () => (
{
restrict: 'A',
templateUrl: 'my-template',
controller: 'myController',
controllerAs: 'myCtrl',
bindToController: true,
scope: {myVariable : '@myDirective'}
}))
.controller('myController', () => {
alert('the scope variable is: ' + this.myVariable );
}
但是这会警告“作用域变量为未定义(undefined)”。
如果我更改控制器的定义以使用ES5语法,那么它将警告“作用域变量为hello”,如预期。
.controller('myController', function() {
alert('the scope variable is: ' + this.myVariable);
}
我猜这与绑定
this
有关。在传递作用域变量时,是否有使用“fat arrow”符号的方法?
controller
期望一个构造函数,而箭头函数永远不能是构造函数。 - undefined