背景:当AngularJS指令的代码中发生某些事情时,我正在尝试运行回调。
相关代码:
HTML:
<img-cropper onselect="updateAvatarData" x="100" y="100" src="{{tempAvatar}}" id="avatarCropper"/>
控制器:
$scope.updateAvatarData = function(c){
alert("¡¡¡Funciona!!!!");
};
指示:
<<more code up here>>
link: function(scope,element, attr) {
scope.wsId = attr.id+'WS';
scope.pvId = attr.id+'preview';
scope.x = attr.x;
scope.y = attr.y;
scope.aspectRatio = scope.x/scope.y;
scope.previewStyle = "width:"+scope.x+"px;height:"+scope.y+"px;overflow:hidden;";
scope.onSelectFn = scope.$eval(attr.onselect);
<<more code down here>>
问题在于最后一行“scope.onSelectFn = scope.$eval(attr.onselect);”。那个“scope.$eval(attr.onselect);” 返回“未定义”。attr.onselect 工作正常,它返回在“onselect”属性上键入的函数的名称。
我已经使用通过属性传递的函数制作了其他指令,没有问题,但我无法在这里找到我做错了什么。
- 提前致谢