你好我有一個奇怪的問題,只出現在角度爲1.3的IE 11中。ngModel在Internet Explorer中未正確更新 - AngularJS 1.3
我有一個指令,它允許我存儲Object
作爲ngModel
值input
元素。它對AngularJS 1.2沒有任何問題,但它不適用於AngularJS 1.3(僅適用於Internet Explorer)。
這只不過是代碼:
elem.on('input', function(){
var val = elem.val();
ngModel.$setViewValue({
'sampleData': new Date().getTime(),
'value': val
});
scope.$apply();
});
當I型在IE文本,輸入設定正確的對象作爲某些毫秒模型值,但下一個變化成字符串。在其他瀏覽器中,它會正確更新ngModel
。
你可以看到這種奇怪的行爲有:
AngularJS 1.2:http://jsfiddle.net/aartek/e6Lvpqj3/(在IE,Chrome和Firefox的作品),
AngularJS 1.3:http://jsfiddle.net/aartek/mvx9dbyu/2/(不能在IE 11工作,適用於Chrome和Firefox)
什麼原因,我該如何解決?
這是我的全部指令:
app.directive('myInput',function(){
return{
restrict: 'A',
require: 'ngModel',
scope: {},
priority: 1,
link: function(scope, elem, attrs, ngModel){
elem.off('input');
elem.off('change');
ngModel.$render = function(){
var model = {
'sampleData': 'sampleData',
value: ''
}
ngModel.$setViewValue(model);
elem.val(model.value);
}
elem.on('input', function(){
var val = elem.val();
ngModel.$setViewValue({
'sampleData': new Date().getTime(),
value: val
});
scope.$apply();
});
}
}
});
哪個版本的IE? – BobDoleForPresident
@BobDoleForPresident IE 11 – akn
http://jsfiddle.net/mvx9dbyu/5/ - 我不確定範圍$ apply失敗或沒有,因爲我無法打開我的ie開發者控制檯11. – YOU