Javascript 如何将ng模型值获取到指令
在下面的指令中,我需要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:
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
})
}
}