如何使用ng模型显示输入元素的不同值
How to show different value of input element with ng-model?
在
控制器中,如果有一个变量来跟踪分页表页面的索引(从 0 开始):
var page {
pageNumber: 0;
}
问题:如何在 html 中显示这个pageNumber
变量,但总是递增 +1?(因为 index=0 页面显然是第 1 页,因此应显示为 Page 1
)
<input type="text" ng-model="page.pageNumber">
此外,当模型更新时,输入中的值应自动更改(再次:也递增 +1)。
我认为这是$formatters和$parsers的用例。它们对模型的属性进行操作,无需在模型上创建虚拟属性。文档在这里。如果这不是$formatters和$parsers的用例,请纠正我。
请看下文。
网页标记
<body ng-app="app" ng-controller="mainCtrl">
{{page}}
<input paginated-index type="text" ng-model="page">
</body>
.js
var app = angular.module('app', []);
app.controller('mainCtrl', function($scope) {
$scope.page = 0;
});
app.directive('paginatedIndex', function()
{
return{
restrict: 'A',
require: 'ngModel',
link: function(scope, element, attrs, ngModelController)
{
ngModelController.$formatters.push(function(value)
{
return value+1;
})
ngModelController.$parsers.push(function(value)
{
return value-1;
})
}
}
});
在控制器中,将页面对象更改为:
$scope.page = {
displayedPage: function(num) {
if(arguments.length) {
$scope.page.pageNumber = num - 1;
return num;
} else {
return $scope.page.pageNumber + 1;
}
},
pageNumber: 0
}
然后你的元素:
<input type="text" ng-model="page.displayedPage" ng-model-options="{ getterSetter: true}" />
这将显示页码加 1,但保留实际的 page.pageNumber 变量
。我添加的getterSetter: true
选项会将模型绑定到 getter/setter 函数,该函数允许您传入参数 - 在本例中是您输入的页码 - 并从该函数返回。您可以在 ngModel
您可以尝试使用类似的东西。
$scope.data=$scope.page.pageNumber+1;
$scope.fuc=function(){
$scope.page.pageNumber=$scope.data-1;
};
你的 HTML 会像
<input type="text" ng-model="data" ng-change="fuc()" >
检查这个 plunk Plunker
相关文章:
- Javascript获取具有不同id的文件数's来自没有多个属性的文件输入元素
- 访问代码生成的输入元素上的keyup事件
- 如何通过jQuery发送选定的元素和文本输入
- 使用 jQuery,当我在输入框外部单击时,如何更改输入元素的值
- 从IE中的不同元素调用时,文件输入控件未正确启动
- 使用jQuery切换来显示内容,但防止在用户单击输入元素时关闭
- 单击其他元素或鼠标向上时隐藏输入框,但保留一次焦点
- 如何在dom元素中插入输入标记数据插件
- 根据输入文本按元素排序,AngularJS
- 更新最大滑块元素输入类型=文本
- 角度/动画引导元素(输入组)
- 如何创建表单元素输入框,标签使用javascript onclick
- 绑定到单击事件以查找子元素输入值
- 特定值元素输入未被读取
- 在JavaScript中将用户输入的元素输入到数组中
- JQuery隐藏元素输入问题遍历
- 如何找出表单是否没有任何元素(输入,选择)在jquery
- 使用表单元素(输入)初始化放大弹出菜单
- 如何获取所有子元素输入
- 基于子元素输入控制父元素:focus