ANGULARJS - $scope第一次调用异步方法时不适用
ANGULARJS - $scope does not apply the first time I call my async method
我的angularjs控制器有问题。它是这样的
我在单击按钮时触发了一个异步方法,此方法显示一个带有输入文本的对话框,一旦关闭对话框,该文本就会添加到作用域数组中,但是,当我第一次执行异步方法时,视图不会反映作用域中的更改,如果我第二次单击并且函数再次被调用,那么我可以看到视图中的所有更改(包括第一个我所做的更改没有立即看到)
这是我的示例代码
var afterUpload = function (result) {
vm.testme = result;
vm.pdfs.list.push({ systemFilename: 'test', note: 'test' });
$scope.pdfs.push({ systemFilename: 'test', note: 'test' });
}
$scope.upload = function (files) {
var modalOptions = {
closeButtonText: 'Ok',
actionButtonText: 'Accept',
headerText: 'File upload',
bodyText: 'Please type the name of the file',
modalTemplate: '/MiniSpa/app/templates/modal/file-modal.html'
};
modalService.showModal({}, modalOptions).then(function(result) {
$scope.$evalAsync(function () { afterUpload(result); });
}
有什么想法吗?
将代码放入打开对话框$timeout。它应该可以解决问题。
例:
$scope.upload = function() {
...
$timeout(function() {
// put code here which opens dialog
}, 200);
}
相关文章:
- toLocaleDateString和toLocaleString方法不尊重机器时区
- Meteor-添加用户自定义字段的方法不起作用
- 将其中一个异步方法重写为使用promise的方法
- strongloop script.js run find in before delete方法:如何同步运行异步方法
- QtWebKit中的JavaScript和异步方法
- 设置显示后Flash对象方法不可用:无
- 在 JQUERY 中创建 HTML 后,Jquery 方法不起作用
- 为什么 .on() 方法不执行第一个处理程序
- 有没有任何情况下,一个方法不应该是原型方法
- Node.js-异步方法调用问题
- Node.js cors请求-异步示例不起作用
- 为什么这个扩展方法不起作用
- jQuery 验证 - 调用某些元素的 .valid() 方法不会清除错误
- 方法不在另一个方法内部调用
- 与 promise 一起使用时,异步瀑布不执行下一个回调方法
- 为什么 then() 链式方法不按顺序运行
- Javascript 对象方法不更新变量
- 异步范围绑定回调中的JavaScript作用域操作不适用
- JS - 序列中的链异步方法,不带回调或修改
- ANGULARJS - $scope第一次调用异步方法时不适用