【发布时间】:2014-09-28 06:57:30
【问题描述】:
如何创建一个range 指令,该指令绑定到一个ng-model 并使用filter 输出两个input 字段(已创建)。基本上我有一个方向从模型到输入工作,但另一侧从输入到模型没有。如何做到这一点?
我有这个 Html:
<div tu-range ng-model="arbitraymodel" />
还有一个模型:
var arbitrarymodel = "10/22";
旁注;我创建了一个过滤器来拆分这两个值:
{{ feature.Value | split:\'/\':0}}
还有这个指令:
.directive('tuRange', function($compile) {
return {
restrict: 'A',
require: 'ngModel',
scope: {
feature: '=',
tudisabled: '=',
model: '=ngModel' // edited
},
template: '<input type="text" '+
'ng-value="{{ model | split:\'/\':0}}" />'+ // edited to 'model'
'-<input type="text" '+
'ng-value="{{ model | split:\'/\':1}}" />', // edited to 'model'
link: function(scope, element, attributes, ngModel) {
}
};
})
【问题讨论】:
-
你真的需要用
10/22的值来做吗?为什么不使用带有arbitrary.begin和arbitrary.end键的对象呢?如果需要,可以使用更改侦听器将两者组合回一个值。 -
hm,对此不太确定,但是他如何反转双向绑定的过滤?
-
我对添加
model的指令范围做了一个小改动。 @ConcurrentHashMap 是的,这不是我得到的最佳数据。但最终它必须以这种方式发回,所以为了确保一切都发生在一个地方,我想在指令中这样做。
标签: javascript angularjs angularjs-filter angular-directive