Ton*_*ony 3 javascript angularjs
我想在angularjs中更改ng-model的视图值而不影响底层模型变量.我在控制器中定义了一个范围变量markPercent.
$scope.markPercent = 0.43;
Run Code Online (Sandbox Code Playgroud)
我试图使用ng-model从我的视图中访问相同的内容.
<input type="text" ng-model="markPercent">
Run Code Online (Sandbox Code Playgroud)
此输入在视图html中显示0.43.我想要的是视图html中的43而不影响$ scope.markPercent的值.此外,如果用户正在更改输入字段中应该以相同方式修改范围变量的值(例如:如果用户输入65,则$ scope.markPercent应为0.65).事实上,我不想在表中每次和每次100分乘以它(这就是我现在的表现).我们是如何以棱角分明的方式做的?
这是ngModel.$parsers/ ngModel.$formatterspipelines(ref)的情况.您将需要一个指令,requireS上ngModel,并把自己的代码放到这两个管道.例如:
app.directive("percent", function() {
/** Convert a string view value to percent float from 0.0 to 1.0. */
function parser(value) {
// implement this
}
/** Convert a float from 0.0 to 1.0 to percent. */
function formatter(value) {
// implement this
}
return {
restrict: "A",
require: "ngModel",
link: function(scope, elem, attrs, ngModel) {
ngModel.$parsers.push(parser);
ngModel.$formatters.push(formatter);
}
};
});
Run Code Online (Sandbox Code Playgroud)
简单的解析器/格式化器的工作示例:http://jsfiddle.net/748j30ha/
| 归档时间: |
|
| 查看次数: |
150 次 |
| 最近记录: |