这是以下观点jade
:
button#save-csv-btn(ng-click="click()") Export CSV
input#save-csv(style="display:none", type="file", onchange="angular.element(this).scope().saveCSVFileChanged(this)")
Run Code Online (Sandbox Code Playgroud)
JS:
$scope.click = ->
# $('#save-csv').trigger('click')
Run Code Online (Sandbox Code Playgroud)
我得到的错误:
Error: $apply already in progress
Run Code Online (Sandbox Code Playgroud)
mcf*_*edr 11
我改变了$scope.click
函数来触发输入点击setTimeout
.这让第一次$apply
完成,然后将触发另一次.
$scope.click = function() {
setTimeout(function() {
inputEl.click();
}, 0);
}
Run Code Online (Sandbox Code Playgroud)
请注意,我使用setTimeout
,而不是$timeout
.$timeout
也会在一个$apply
街区内.
这个想法是使用按钮来“模拟”文件输入;我使用http://gregpike.net/demos/bootstrap-file-input/demo.html实现了这一点。
input#save-csv(type="file", title="Export to CSV", onchange="angular.element(this).scope().saveCSVFileChanged(this)")
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11872 次 |
最近记录: |