- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想向另一个 Controller 发送一个事件。为此,我已经知道使用 $rootScope.$broadcast
或 $scope.$emit
然后使用 $scope.$on
监听事件的方法.
这是一种通用方式,但我的项目在不同的 JS 文件中启动 Controller 。
//In broadcaster.js
function broadcasterCtrl(~~~~~, broadcasterService){
~~~~~~~~~~
}
function broadcasterService(~~~~~){
~~~~~~~~~~
}
angular
.module('myApp')
.service('broadcasterService', broadcasterService)
.controller('broadcasterCtrl', broadcasterCtrl);
//In listener.js
function listenerCtrl(~~~~~, listenerService){
~~~~~~~~~~
}
function listenerService(~~~~~){
~~~~~~~~~~
}
angular
.module('myApp')
.service('listenerService', listenerService)
.controller('listenerCtrl', listenerCtrl);
由于这种结构,在调用 View (状态)时会启动监听器 Controller 。所以我使用了 $window.localStorage.setItem('key', value)
,但我不喜欢它,因为我认为它非常脆弱。
有没有使用 $broadcast
的想法?还是使用 localStorage 安全?
最佳答案
跨多个 Controller 共享信息的最佳方式是服务,因为服务是单例的,因此更容易为此目的管理和隔离范围/变量。
var app = angular.module('myApp', []);
app.factory('datepickerinfo', function() {
var keyValue;
datepickerinfo.setKey = function(key) {
keyValue = key;
};
datepickerinfo.getKey = function(){
return keyValue;
}
return datepickerinfo;
});
并注入(inject)它:
function MyCtrl($scope, datepickerinfo) {
$scope.dateKey = datepickerinfo.getKey();
}
本地存储:
您也可以使用本地存储。如果你没有任何重要数据。 (重要数据意味着不要使用本地存储共享用户重要信息。)否则,本地存储是一个好方法。但是,请记住,每当发生任何更新或删除时,您都应该妥善处理本地存储。
关于javascript - AngularJS 将事件发送到另一个 Controller ($broadcast、$window.localStorage 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51374003/
我在我的 AngularJS 应用程序中看到了一些非常奇怪的行为。 制作单个 $broadcast 时,(唯一的)接收器会被触发两次。 对整个应用程序的影响就好像接收器只被触发了一次。 (即只有一件元
以下是我的类(class)中的功能: def labeling(self, value, labelMap, dtype='string'): if dtype.value == 's
只是想澄清一些事情,一些容易实现的目标,一个通过在另一个问题中观察用户试图对广播变量调用 RDD 操作而产生的问题?这是错误的,对吧? 问题是:Spark 广播变量不是 RDD,对吗?这是 Scala
我正在尝试通过聊天室让聊天应用程序运行。 在服务器端我有类似的东西: io.sockets.on('connection', function (socket) { socket.emit('co
我目前正在基于此示例开发一个简单的聊天多房间: https://github.com/Atmosphere/atmosphere-samples/blob/master/samples/chat-mu
我正在构建一个搜索指令,我希望我的应用程序的多个其他指令能够监听对文本搜索的更改。 我试图了解广播和发射之间的区别,以及什么最适合我的目的。 据我了解,$broadcast 和 $emit 之间的区别
Class ProdsTransformer: def __init__(self): self.products_lookup_hmap = {} self.bro
我有多个名为 as 和 bs 的大型数据帧(大约 30GB),一个名为 spp 的相对较小的数据帧(大约 500MB ~ 1GB)。 我试图将 spp 缓存到内存中,以避免多次从数据库或文件中读取数据
我正在以下配置上运行 Spark 应用程序: 1 个 Master 节点,2 个 Worker 节点。 每个工作线程有 88 个核心,因此总数为 88 个。核心数量 176 每个工作线程有 502 G
我想检测 LAN 中 IP:10.x.x.x 掩码:255.0.0.0 的所有设备。我首先写了一个同步 ping 程序来逐个 ping IP,但是太慢了。因此我通过使用异步ping对其进行了改进,然后
我想检测 LAN 中 IP:10.x.x.x 掩码:255.0.0.0 的所有设备。我首先写了一个同步 ping 程序来逐个 ping IP,但是太慢了。因此我通过使用异步ping对其进行了改进,然后
张量(Tensor)、标量(scalar)、向量(vector)、矩阵(matrix) Python Numpy 切片和索引(高级索引、布尔索引、花式索引) Python NumPy
我试图找到这个词的起源,以及它是否有其他名称。我在网上能找到的所有用法都指向 numpy 手册。不知道以前是否使用过? 最佳答案 它最初源自 Yorick ,一种较旧的以数组为中心的编程语言,许多原始
有没有办法让 $broadcast 在初始化阶段将变量传播到 $on? {{testContent}} var app = angular
我可以要一个 $broadcast $on有多个参数, 就像是: $scope.$broadcast('event',$scope.item, $scope.item); 在任何情况下都有可能有这样的
尝试使用 Angular 的 $broadcast,当我测试它并使用字符串“hi”并在同级 Controller 中监视它时,它工作正常,如下所示: //first controller app.co
我遇到一个问题,事件已正确触发,但数据未从 Broadcast::channel 方法内的授权回调函数返回。 该事件如下所示: public function __construct($userId,
我们计划将 Telegram 与我们的项目集成。要求是当某些事件发生时,向一组用户发送通知。我已经用 Telegram 创建了一个测试机器人。我的问题是,是否可以使用机器人来做到这一点,即向用户组发送
我有一个简单的服务/工厂: angular.module('myapp').factory('User', ['$rootScope', function($rootScope) { retu
我们计划将 Telegram 与我们的项目集成。要求是当某些事件发生时,向一组用户发送通知。我已经用 Telegram 创建了一个测试机器人。我的问题是,是否可以使用机器人来做到这一点,即向用户组发送
我是一名优秀的程序员,十分优秀!