Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过angularjs将参数传递给指令中的函数调用_Angularjs_Angularjs Directive - Fatal编程技术网

通过angularjs将参数传递给指令中的函数调用

通过angularjs将参数传递给指令中的函数调用,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我有一个自定义指令。在我的html中,我写了以下内容: <uploader action="/rest/file/create_from_form.json" success="writeFid()"></uploader> 在我的“控制器”中,我有: $scope.writeFid = function (data) { console.log("Into writeFid"); console.log(data); //this i

我有一个自定义指令。在我的html中,我写了以下内容:

<uploader action="/rest/file/create_from_form.json" success="writeFid()"></uploader>
在我的“控制器”中,我有:

$scope.writeFid = function (data) {
        console.log("Into writeFid");
        console.log(data);  //this is my problem: it is always undefined.
    }
我可以看到(通过console.log()消息)调用了“success”函数,但没有传递“data”

我试着用

<uploader action="/rest/file/create_from_form.json" success="writeFid(data)"></uploader>

但它不起作用

那么:如何传递某种类型的$scope.data


谢谢。

我不确定您的指令是否使用隔离作用域,因此我将介绍这两种情况:

没有隔离作用域:

scope.$eval(attrs.success, { data: 'Some value from foo' });
scope: { success: '&' },
...
scope.success({ data: 'Some value from bar' });
具有隔离作用域:

scope.$eval(attrs.success, { data: 'Some value from foo' });
scope: { success: '&' },
...
scope.success({ data: 'Some value from bar' });
无论作用域的类型如何,您的标记必须如下所示:

<uploader success="writeFid(data)" ...></uploader>


下面是一个演示这两种方法的示例。

我不确定您的指令是否使用隔离作用域,因此我将介绍这两种情况:

没有隔离作用域:

scope.$eval(attrs.success, { data: 'Some value from foo' });
scope: { success: '&' },
...
scope.success({ data: 'Some value from bar' });
具有隔离作用域:

scope.$eval(attrs.success, { data: 'Some value from foo' });
scope: { success: '&' },
...
scope.success({ data: 'Some value from bar' });
无论作用域的类型如何,您的标记必须如下所示:

<uploader success="writeFid(data)" ...></uploader>


下面是一个演示这两种方法的示例。

我不确定您的指令是否使用隔离作用域,因此我将介绍这两种情况:

没有隔离作用域:

scope.$eval(attrs.success, { data: 'Some value from foo' });
scope: { success: '&' },
...
scope.success({ data: 'Some value from bar' });
具有隔离作用域:

scope.$eval(attrs.success, { data: 'Some value from foo' });
scope: { success: '&' },
...
scope.success({ data: 'Some value from bar' });
无论作用域的类型如何,您的标记必须如下所示:

<uploader success="writeFid(data)" ...></uploader>


下面是一个演示这两种方法的示例。

我不确定您的指令是否使用隔离作用域,因此我将介绍这两种情况:

没有隔离作用域:

scope.$eval(attrs.success, { data: 'Some value from foo' });
scope: { success: '&' },
...
scope.success({ data: 'Some value from bar' });
具有隔离作用域:

scope.$eval(attrs.success, { data: 'Some value from foo' });
scope: { success: '&' },
...
scope.success({ data: 'Some value from bar' });
无论作用域的类型如何,您的标记必须如下所示:

<uploader success="writeFid(data)" ...></uploader>


这里有一个演示这两种方法的示例。

您可以在uploader指令中使用带有双向绑定的隔离作用域,以在一定程度上实现您所追求的目标

上传指令

...
scope: {
    data: '=',
    success: '&'
}
...
示例父控制器

标记

...
<uploader data="dataAttribInParent" success="writeFid()">
...
。。。
...
下面是一个需要详细说明的例子:


您可以在uploader指令中使用带有双向绑定的隔离作用域来实现您所追求的目标

上传指令

...
scope: {
    data: '=',
    success: '&'
}
...
示例父控制器

标记

...
<uploader data="dataAttribInParent" success="writeFid()">
...
。。。
...
下面是一个需要详细说明的例子:


您可以在uploader指令中使用带有双向绑定的隔离作用域来实现您所追求的目标

上传指令

...
scope: {
    data: '=',
    success: '&'
}
...
示例父控制器

标记

...
<uploader data="dataAttribInParent" success="writeFid()">
...
。。。
...
下面是一个需要详细说明的例子:


您可以在uploader指令中使用带有双向绑定的隔离作用域来实现您所追求的目标

上传指令

...
scope: {
    data: '=',
    success: '&'
}
...
示例父控制器

标记

...
<uploader data="dataAttribInParent" success="writeFid()">
...
。。。
...
下面是一个需要详细说明的例子:


您的指令是否使用隔离范围?您的指令是否使用隔离范围?您的指令是否使用隔离范围?您的指令是否使用隔离范围?您的指令是否使用隔离范围?您的指令是否可能重复