【发布时间】:2014-08-12 19:20:24
【问题描述】:
我有一个指令,仅在加载 iframe 后才调用函数。但是我得到多方向新/隔离范围错误。我的代码 sn-p 如下。
<iframe ng-src="{{src}}" ng-if="loginCheck" ng-show="false" data-iframe-on-load="iframeOnLoad" data-iframe-callback="testLoad()"></iframe>
js:
directive('iframeOnLoad', function () {
return {
restrict: 'A',
scope: {
callback: '&iframeCallBack'
},
link: function (scope, element, attrs) {
element.on('load', function() {
return scope.callback();
});
}
};
})
控制器:
$scope.loginCheck = true;
$scope.testLoad= function () {
alert('loaded...');
};
错误:
错误:[$compile:multidir] 多个指令 [iframeOnLoad, iframeOnLoad] 要求在
【问题讨论】:
-
我唯一能猜到的是你的
iframeOnLoad指令被定义了两次。 -
不,我的意思是,例如,包含指令声明的 JavaScript 文件可能会在脚本标签中包含两次。
标签: angularjs angularjs-directive angularjs-scope