Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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 当属性为';t在指令链接阶段可用_Angularjs_Angularjs Directive_Angularjs Scope - Fatal编程技术网

Angularjs 当属性为';t在指令链接阶段可用

Angularjs 当属性为';t在指令链接阶段可用,angularjs,angularjs-directive,angularjs-scope,Angularjs,Angularjs Directive,Angularjs Scope,我有一个关于它的指令。在这个指令中,我想使用控制器作用域的属性。但是,当directives链接函数运行时,还没有设置此属性,因为它是在返回资源调用时设置的 当指令中的属性值从资源结果中可用时,如何使用该属性值 我现在有: .directive('meImageUpload', ['$parse', '$compile', function ($parse, $compile) { return { restrict: 'A',

我有一个关于它的指令。在这个指令中,我想使用控制器作用域的属性。但是,当directives链接函数运行时,还没有设置此属性,因为它是在返回资源调用时设置的

当指令中的属性值从资源结果中可用时,如何使用该属性值

我现在有:

        .directive('meImageUpload', ['$parse', '$compile', function ($parse, $compile) {
        return {
            restrict: 'A',
            scope: {
                imageUploadType: '=imageUploadType',
                imageUploadId: '=imageUploadId'
            },



但这会导致imageUploadId始终未定义。

据我所知,您试图使用您的问题
imageUploadId
,但设置为延迟?这应该没有问题,因为与范围定义连接的属性是以两种方式绑定的。因此,您可以使用
scope.$watch
功能

scope.$watch("imageUploadId", function (newId, oldId) {
    // here you can use the parameter id newId or read the new one from the scope
    doSomething($scope.imageUploadId);
}

如果值(
record.id
)在您的控制器范围内更改,它也会在指令中自动更新,因为您使用
imageUploadId:'=imageUploadId'
连接了它们。在这种情况下,您也可以使用缩写
imageUploadId:'='
,因为它们的名称相同。

记录.Id是从资源加载的数据的一部分?
scope.$watch("imageUploadId", function (newId, oldId) {
    // here you can use the parameter id newId or read the new one from the scope
    doSomething($scope.imageUploadId);
}