Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.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 - Fatal编程技术网

Javascript 角度ng模型不同的视图和值

Javascript 角度ng模型不同的视图和值,javascript,angularjs,Javascript,Angularjs,我的问题与此类似 我希望“%”符号仅用于视图,它不应影响ngmodel。我如何格式化此符号 我有一个文本框,它将具有百分比值,有一个基于该值的计算。因此,我想显示“%”仅用于查看和ngmodel CONTAINS only值。我该怎么做。您可以创建一个需要ngModel的指令并添加一个 当需要ngModelController时,必须将其添加到输入元素中。给它起个名字也很重要 您可以创建需要ngModel的指令并添加一个 当需要ngModelController时,必须将其添加到输入元素中。给它

我的问题与此类似

我希望“%”符号仅用于视图,它不应影响ngmodel。我如何格式化此符号


我有一个文本框,它将具有百分比值,有一个基于该值的计算。因此,我想显示“%”仅用于查看和ngmodel CONTAINS only值。我该怎么做。

您可以创建一个需要ngModel的指令并添加一个

当需要ngModelController时,必须将其添加到输入元素中。给它起个名字也很重要


您可以创建需要ngModel的指令并添加一个

当需要ngModelController时,必须将其添加到输入元素中。给它起个名字也很重要


您可以尝试以下代码:

var myApp=angular.module('myApp',[]);
myApp.controller('myController',['$scope',函数($scope){
$scope.testNumber={number:30};
}]);
myApp.directive('myDirective',function(){
返回{
要求:'ngModel',
链接:函数(范围、元素、属性、ngModelController){
ngModelController.$parsers.push(函数(数据){
//将数据从视图格式转换为模型格式
返回数据。替换('%','');
});
ngModelController.$formatters.push(函数(数据){
//将数据从模型格式转换为视图格式
返回数据+'%';
});
}
}
});


ng模型值:{{testNumber.number}
您可以尝试以下代码:

var myApp=angular.module('myApp',[]);
myApp.controller('myController',['$scope',函数($scope){
$scope.testNumber={number:30};
}]);
myApp.directive('myDirective',function(){
返回{
要求:'ngModel',
链接:函数(范围、元素、属性、ngModelController){
ngModelController.$parsers.push(函数(数据){
//将数据从视图格式转换为模型格式
返回数据。替换('%','');
});
ngModelController.$formatters.push(函数(数据){
//将数据从模型格式转换为视图格式
返回数据+'%';
});
}
}
});


ng模型值:{{testNumber.number}
您可以对百分比值使用自定义过滤器

angular.module('percentageValueFilter', [])
    .filter( 'titlecase', function() {
   return function(input) {

     if(isNaN(input)
      return input;

     else
      return input + "%";
   }
});
在html中使用此过滤器,如下例所示

{{ yourVale | percentageValueFilter }}
{{ 10 | percentageValueFilter }} // 10%
{{ 'test' | percentageValueFilter }} // test

您可以对百分比值使用自定义筛选器

angular.module('percentageValueFilter', [])
    .filter( 'titlecase', function() {
   return function(input) {

     if(isNaN(input)
      return input;

     else
      return input + "%";
   }
});
在html中使用此过滤器,如下例所示

{{ yourVale | percentageValueFilter }}
{{ 10 | percentageValueFilter }} // 10%
{{ 'test' | percentageValueFilter }} // test

您可以编写自己的指令,其中$viewValue将根据用户输入进行更改,$modelValue将与用户拥有的
input
相同。您可以编写自己的指令,其中$viewValue将根据用户输入进行更改,$modelValue将与用户拥有的
input
相同。哪个错误?当需要表单或ngModel时,必须将其添加到html元素中。我不明白如果您需要帮助,请在聊天中给我写信,也许您的环境不了解箭头函数?百分号是可编辑的,因此可以删除。是否有其他替代方法?是的,$formatter接受一个或多个函数,并按插入的顺序执行。每个函数获取视图上的值并返回格式化后的值。在同一个函数中,可以为每种情况添加多个return语句。每次值更改时,它会调用哪个错误?当需要表单或ngModel时,必须将其添加到html元素中。我不明白如果您需要帮助,请在聊天中给我写信,也许您的环境不了解箭头函数?百分号是可编辑的,因此可以删除。是否有其他替代方法?是的,$formatter接受一个或多个函数,并按插入的顺序执行。每个函数获取视图上的值并返回格式化后的值。可以在同一函数中为每种情况添加多个return语句每次值更改时它是否调用百分比符号是可编辑的,因此可以删除百分比符号是否可以编辑,因此可以删除百分比符号是否可以编辑