事件 – 如何为AngularJS创建换行指令?

前端之家收集整理的这篇文章主要介绍了事件 – 如何为AngularJS创建换行指令?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
通常ng模型每次用户按下键时更新绑定的模型:
<input type="text" ng-model="entity.value" />

这在几乎每一种情况下都很好用.

但是,当onchange事件发生时,需要更新,而不是onkeyup / onkeydown事件.

在老版本的角色中,有一个ng-model-instant指令与ng-model工作相同(至少对于用户来说 – 我不了解它们的实现).
所以在旧版本中,如果我只是给了模型,它正在更新模型onchange,当我指定ng-model-instant它是更新模型onkeypup.

现在我需要ng-model来使用元素的“change”事件.我不想让它瞬间最简单的做法是什么?

编辑

输入仍然必须反映模型的任何其他变化 – 如果模型将在其他位置更新,则输入值应反映此变化.

我需要的是使ng-model指令工作就像在老版本的angularjs中一样工作.

这是我要做的事情的解释:
http://jsfiddle.net/selbh/EPNRd/

这里我为你创建了onChange指令.演示: http://jsfiddle.net/sunnycpp/TZnj2/52/
app.directive('onChange',function() {    
    return {
        restrict: 'A',scope:{'onChange':'=' },link: function(scope,elm,attrs) {
            scope.$watch('onChange',function(nVal) { elm.val(nVal); });            
            elm.bind('blur',function() {
                var currentValue = elm.val();
                if( scope.onChange !== currentValue ) {
                    scope.$apply(function() {
                        scope.onChange = currentValue;
                    });
                }
            });
        }
    };        
});

猜你在找的Angularjs相关文章