Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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_Angularjs Directive_Angular Ngmodel_Isolated Scope - Fatal编程技术网

Javascript 如何在指令中获取ng模型值

Javascript 如何在指令中获取ng模型值,javascript,angularjs,angularjs-directive,angular-ngmodel,isolated-scope,Javascript,Angularjs,Angularjs Directive,Angular Ngmodel,Isolated Scope,我已经用AngularJS编写了一个指令,并使用了带有min max和ng model属性的输入类型number。我使用了隔离范围。在指令中,我编写了一个模糊事件。我得到的是最小最大值,但没有得到ng model值: myApp.directive('myDirective',函数(){ 功能链接($scope、ele、attr){ $scope.$watch('num',函数(值){ console.log(值); }) 元素开('blur',函数(){ log($scope.num、$s

我已经用AngularJS编写了一个指令,并使用了带有min max和ng model属性的输入类型number。我使用了隔离范围。在指令中,我编写了一个模糊事件。我得到的是最小最大值,但没有得到
ng model
值:


myApp.directive('myDirective',函数(){
功能链接($scope、ele、attr){
$scope.$watch('num',函数(值){
console.log(值);
})
元素开('blur',函数(){
log($scope.num、$scope.min、$scope.max);
})
}
返回{
限制:“A”,
范围:{
num:“=ngModel”,
最小:“=?”,
最大:“=?”
},
链接:链接
}
});
输出:未定义5 10


我做错了什么?

不使用绑定到
ngModel
需要它并将其注入链接函数:

myApp.directive('myDirective',函数(){
函数链接($scope,ele,attr,ngModel){//ngModel.$viewValue,(n,o)=>{
//正在观看'ngModel.$viewValue`
控制台日志('WATCH',n,o);
})
元素开('blur',函数(){
//`ngModel.$viewValue`是当前值
log('BLUR',ngModel.$viewValue,$scope.min,$scope.max);
})
}
返回{

require:'ngModel',//谢谢它的工作,但我们可以这样做吗?我在下面添加了代码片段,它使用输入类型
text
,但没有输入类型number。请用type
number
解释一下,我的演示使用的是input type=“number”。单击我答案中代码下方的演示链接,你会看到它工作了。是的,但是,你已经注入了它,我希望
ngModel
处于隔离范围。就像我下面的答案一样。不可能像你下面做的那样做。我不明白--有什么问题?