我怎样才能通过'范围'指令之外的参数

时间:2016-12-06 07:37:58

标签: javascript angularjs angularjs-directive

我怎样才能通过'范围'指令之外的争论? 我需要在其他组件中使用它..

我的代码:

(function () {
angular.module('dmv.shared.components').
    directive('doImportPackage', ['Package', function (Package) {
        return {
            restrict: 'A',
            scope: {
                onStart: '<',
                onFinish: '<',
                onError: '<'},
link: function (scope, element, attributes) {

  }

tnx !!

1 个答案:

答案 0 :(得分:1)

您可以通过控制器执行此操作。由于AngularJS以双向数据绑定原则工作,因此您分配的这些变量已经从您引用的位置更新,您也可以将它们与其他指令一起使用。例如,我假设你使用你的指令如下:

<do-import-package 
    on-start="myCtrl.onStart" 
    on-finish="myCtrl.onFinish" 
    on-error="myCtrl.onError">
</do-import-package>

你在myCtrl controllor中有以下相应的变量:

this.onStart = some value;
this.onFinish = some value;
this.onErrod = some value;

在正常情况下,您可以将其他指令的属性绑定到这些值,它们将以双向方式更新。例如,如果使用以下指令,则应使用相同的值更新这两个指令。

<other-directive 
    on-start="myCtrl.onStart" 
    on-finish="myCtrl.onFinish" 
    on-error="myCtrl.onError">
</other-directive>