Jul*_*lio 9 javascript angularjs ng-flow
我目前正在使用ng-flow执行文件上传.看来,选择文件的默认操作是立即上传.我想覆盖它,以便选择文件并仅在按钮单击时上传.也许我误读了文档,但到目前为止我有以下内容:
<div flow-init="{target: '/upload'}"
flow-files-submitted="$flow.upload()"
flow-file-success="$file.msg = $message">
<input type="file" flow-btn/>
Input OR Other element as upload button
<span class="btn" flow-btn>Upload File</span>
<table>
<tr ng-repeat="file in $flow.files">
<td>{{$index+1}}</td>
<td>{{file.name}}</td>
<td>{{file.msg}}</td>
</tr>
</table>
</div>
Run Code Online (Sandbox Code Playgroud)
这似乎工作,我可以看到网络请求出去.我在点击时找到了flow.js上传文件,并尝试按照建议的答案,但$flow在相应的功能中未定义.
那么,如何使用ng-flow以编程方式上传文件?
lec*_*tor 12
首先,flow-files-submitted当用户选择文件(误导性名称)时触发事件.因此,当您分配$flow.upload()给它时,您可以在文件选择后立即上传.
第二件事是在控制器中获取$ flow对象.我想到了两种方式:
A.正如指示所说,你必须使用flow-name属性:
<div flow-init flow-name="obj.flow">
Run Code Online (Sandbox Code Playgroud)
然后你可以参考$flow你的$scope.obj.flow属性,你可以$scope.obj.flow.upload()在控制器的任何地方使用方法.
B.将"上传"按钮放在flow指令块内(作为带flow-init属性的元素的后代),并使用$flow指令作用域的属性作为参数ng-click,例如:
<button type="button" ng-click="myUploadMedhot($flow)">Upload</button>
Run Code Online (Sandbox Code Playgroud)
在里面myUploadMethod(param)打电话param.upload().
| 归档时间: |
|
| 查看次数: |
8470 次 |
| 最近记录: |