2017-06-15 56 views
0

有一些麻烦在角2反向复选框值angular2

扭转复选框值在角1.x中,我们可以做一个指令,像下面。

.directive('invertValue', function() { 
    return { 
    require: 'ngModel', 
    link: function(scope, element, attrs, ngModel) { 
     ngModel.$parsers.unshift(function(val) { return !val; }); 
     ngModel.$formatters.unshift(function(val) { return !val; }); 
    } 
    }; 
}) 
+0

你的意思是使其成为虚假如果它是真的吗? – Sajeetharan

+0

是的,值是在我的对象是真实的,但复选框应显示为false。无需将ngModel更改为false。我希望能够将它创建为一个指令,以便像上面的代码那样可重用 – kplates

回答

2

为什么你需要的指令为这个简单的事情

就可以实现这样的

<input type="checkbox" [checked]="!value" (change)="value= !value" /> 
+0

这可以像我期望的那样工作。干杯! – kplates

+0

太棒了!你能接受我的答案吗?谢谢 – CharanRoot

+0

有没有人知道这个解决方案的缺点?例如从元素中省略ngModel?因为这是我的第一个解决方案,但我无法使ngModel逆转。现在看起来很好:) – Luckylooke