如何在指令外传递'scope'参数?
我需要在其他组件中使用它。
我的代码:
(function () {
angular.module('dmv.shared.components').
directive('doImportPackage', ['Package', function (Package) {
return {
restrict: 'A',
scope: {
onStart: '<',
onFinish: '<',
onError: '<'},
link: function (scope, element, attributes) {
}
天哪!
最佳答案
您可以通过控制器执行此操作。由于AngularJS以2向数据绑定原理工作,因此您分配的这些变量已经从引用位置进行了更新,您也可以将它们与其他指令一起使用。例如,假设您使用如下指令:
<do-import-package
on-start="myCtrl.onStart"
on-finish="myCtrl.onFinish"
on-error="myCtrl.onError">
</do-import-package>
在myCtrl控件中,您具有以下对应的变量:
this.onStart = some value;
this.onFinish = some value;
this.onErrod = some value;
在正常情况下,您可以将其他指令的属性绑定到这些值,它们将以2向方式进行更新。例如,如果使用以下伪指令,则两个伪指令应更新为相同的值。
<other-directive
on-start="myCtrl.onStart"
on-finish="myCtrl.onFinish"
on-error="myCtrl.onError">
</other-directive>