angularjs - 将数据发送到 AngularJS 中的另一个控制器
问题描述
如何将 array.length 发送到另一个控制器?
第一个控制器:下面的代码
function uploader_OnAfterAddingFile(item) {
var doc = {item: {file: item.file}};
if (doc.item.file.size > 10240) {
doc.item.file.sizeShort = (Math.round((doc.item.file.size / 1024 / 1024) * 100) / 100) + 'MB';
} else {
doc.item.file.sizeShort = (Math.round((doc.item.file.size / 1024) * 100) / 100) + 'KB';
}
doc.item.showCancel = true;
if ($scope.documentStatus) {
item.formData.push({status: $scope.documentStatus});
}
if ($scope.tenderDraftId) {
item.formData.push({tenderDraftId: $scope.tenderDraftId});
}
item.getDoc = function () { return doc; };
doc.item.getUploadItem = function () { return item; };
$scope.documents.push(doc);
//I need send $scope.documents.length
}
发送到其他控制器第二控制器上的此功能:
它们在一页中。
First Controller 它是一个发布上传文件的组件。
第二个控制器它是一个模态窗口,其中我们有两个文本输入和第一个控制器的元素。
我现在需要的只是array.length文件,这些文件是在模态窗口的提交函数中上传的。我尝试使用 $rootScope 但它没有帮助我。
解决方案
我认为您在这里真正想做的是参加$emit
一个$broadcast
活动。这将允许您编写更少的代码,并能够轻松地将这些数据传递到应用程序中您希望的任何地方!使用事件侦听器,$on
也将提供相同的效果。
请仔细阅读本文以了解哪个选项最适合您的用例。 https://medium.com/@shihab1511/communication-between-controllers-in-angularjs-using-broadcast-emit-and-on-6f3ff2b0239d
推荐阅读
- wordpress - 忘记密码需要从 wp-login 重定向到自定义页面
- json - 完成此操作所需的数据不可用错误
- oracle - 选择查询返回“零”记录时如何处理游标异常
- python - `tf.keras.Model.compile` 在 TF2.0 中有什么作用?
- java - 我需要从列表标签内的 json 脚本中获取数据
- node.js - Inversify - Nodejs- 容器绑定导致超出最大调用大小
- jsp - 如何检查对 index.ftl 的 HTTP 请求?
- python - 是否可以在 Pandas.ReadSQL 中使用“chunksize=”选项来限制/限制内存/RAM 的使用?
- reactjs - rc-滑块图标或 html 标签
- python - 我在 python 3.6 中安装 webdrive 模块时遇到问题