为什么要用javascript don';是否更新angularJs变量?
我想加载一个文本文件,并通过将该文件复制到输入文本,将该文件的文本放入AngularJS变量中 此js将文本放在输入字段上:为什么要用javascript don';是否更新angularJs变量?,javascript,forms,angularjs,Javascript,Forms,Angularjs,我想加载一个文本文件,并通过将该文件复制到输入文本,将该文件的文本放入AngularJS变量中 此js将文本放在输入字段上: document.getElementById('JSONFile').addEventListener('change', readFile, false); function readFile(evt) { var files = evt.target.files; var file = files[0]; var reader = new
document.getElementById('JSONFile').addEventListener('change', readFile, false);
function readFile(evt) {
var files = evt.target.files;
var file = files[0];
var reader = new FileReader();
var input = document.getElementById('jsontext');
reader.readAsText(file);
reader.onload = function () {
input.value = this.result;
};
}
输入字段绑定到AngularJS变量:
<input type="text" ng-model="jsontext" id="jsontext" />
但只有在我手动更改文本输入的某些内容时,变量才会更新,用于测试:
我不知道你所说的
input\u fiddle
指的是什么,但我知道你只是想把一个变更处理程序绑定到某个输入上。它不起作用的原因是,在AngularJS中,数据更改由via处理
要在未绑定到范围的上下文中更改数据,可以调用$apply
激活摘要循环(或使用apply函数包装该代码),或者只使用经典的角度方式,通过指令绑定更改处理程序,例如:
$scope.$apply(函数(){
input.value=this.result;
});
进一步阅读
- 关于角尖
input.value=this.result代码>。我改了标题。你错过了“摘要循环”和“手表”的url链接了吗?我不知道代码在哪里,但你应该多读一点angular的工作原理并熟悉它。