Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.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
Javascript 如何将ng模型值获取到指令_Javascript_Angularjs_Angular Directive - Fatal编程技术网

Javascript 如何将ng模型值获取到指令

Javascript 如何将ng模型值获取到指令,javascript,angularjs,angular-directive,Javascript,Angularjs,Angular Directive,在下面的指令中,我需要ng模型值 app.directive('getRelatedDocumentDetails',['documentService',function(documentService){ return { require: 'ngModel', restrict: 'AE', //attribute or element replace: true, link:

在下面的指令中,我需要ng模型值

  app.directive('getRelatedDocumentDetails',['documentService',function(documentService){


    return {
            require: 'ngModel',
            restrict: 'AE', //attribute or element
            replace: true,
            link: function(scope,element,attrs,ngModel){
                element.on('change',function(element,attrs){
            //Here I need ng-model
    })

            }
        }

在上面的代码中,我没有在change函数中获得ng模型。

链接函数允许您像在控制器中一样直接访问scope对象

因此,您可以在此处直接访问用于
ng model
的scope对象

假设您定义html如下

<get-related-document-details ng-model="myVar">
</get-related-document-details>

请提供plunkr链接。指令链接采用以下参数:
范围、元素、属性、控制器、transcludeFn
。因此,您的
ngModel
只是一个控制器。改为从作用域获取值:
console.log(scope.my_值)如@AlekseySolovey mentined所示,在本例中,ngModel是ngModelController。如果要在元素更改时更新ngModel值,请使用
$setViewValue
。我怀疑它是否可以这样工作。为了使作用域上有
myVar
,指令需要通过
scope:{myVar:=ngModel}
app.directive('getRelatedDocumentDetails',['documentService',function(documentService){


    return {
            require: 'ngModel',
            restrict: 'AE', //attribute or element
            replace: true,
            link: function(scope,element,attrs,ngModel){
                element.on('change',function(element,attrs){
            scope.myVar='something'; //here you can assign value to ng-model scope variable
    })

            }
        }