我在IE中使用ng-model(11和所有以前的版本)的输入存在严重问题,但一切都在所有其他浏览器中正常工作.这个问题上周首次出现.我们没有对我们的应用程序的这一部分进行任何更新,并且在上周之前没有收到有关此问题的用户的报告.
我们正在运行Angular 1.4.3.
基本上,像这样的输入:
<input data-ng-model="answer.value"></input>
Run Code Online (Sandbox Code Playgroud)
未正确更新模型.看起来像onChange或onFocus事件的问题 - 输入永远不会丢失他们的ng-pristine和ng -notouched类.它们正在从模型中正确显示初始值,但用户所做的任何更新都无法保存.我们已经尝试<meta http-equiv="X-UA-Compatible" content="IE=11" />在我们的头上添加标签无济于事.从输入中删除所有验证没有任何区别.没有控制台错误或警报.
在我的应用程序的指令中,我有一个使用ng-model绑定变量的文本输入:
<input type="text" class="text-input" ng-change="onInputChange()" ng-model="value" />
Run Code Online (Sandbox Code Playgroud)
我在链接功能中设置了以下内容:
scope.onInputChange = function() {
console.log(scope.value);
};
scope.$watch('value', function(value) {
console.log(value);
});
setInterval(function(){
console.log(scope.value);
}, 500);
Run Code Online (Sandbox Code Playgroud)
当我输入输入字段时,从不触发ng-change和watch,并且间隔始终输出undefined.
在IE 11中的独立应用程序中运行此指令.
在Chrome中的独立应用程序中运行此指令(最新)有效.
在Chrome中运行我的整个应用程序(最新)有效.
我的应用程序可能导致此行为?
编辑2:
这种情况似乎是由webcomponents.js.当此文件包含在IE 11中时,它会从DOM元素中删除所有事件侦听器,并用它自己的dispatchOriginalEvent函数替换它们.在指定的输入字段上,它无法替换任何正常的事件侦听器,因此不会注意到任何文本输入.
编辑3:
我已经将问题进一步缩小到Angular的ng-include和webcomponents.js polyfill for ShadowDOM的组合.因此,我向webcomponentsjs 的github实例添加了一个问题
编辑:完整指令
'use strict';
(function(angular) {
angular.module('givemeareason', [
'config'
]);
angular.module('givemeareason')
.directive('giveMeAReason', ['$timeout', 'AppConfig', function($timeout, Appconfig) {
return {
restrict: 'EA',
replace : true,
template: '<div class="give-me-a-reason">' +
'<input type="text" class="reason" ng-change="onInputChange()" ng-model="reason" />' +
'</div>',
require …Run Code Online (Sandbox Code Playgroud) javascript internet-explorer angularjs internet-explorer-11 polymer
我正在尝试通过特定列中的值过滤csv。我的脚本当前如下所示:
function csv_grep {
if [ $1 == "$SEARCH_TERM" ]
then
echo "$2"
fi
}
export -f csv_grep
VALUES=$(csvtool namedcol col1,col2 dictionary.csv | csvtool call csv_grep -)
Run Code Online (Sandbox Code Playgroud)
但是,当我运行它时,我得到
/bin/bash: csv_grep: command not found
csv_grep: terminated with exit code 127
Run Code Online (Sandbox Code Playgroud)
我已经安装了1.4.2-1版,因此该错误报告不适用。
有什么想法我在做错什么或更好的方法来处理手头的任务吗?