angular $emit发送 后退时$on多次接收

angular 并列作用域,作用域不存在上下级关系,$scope.$emit发送时 后退时$rootScope.$on会出现接收多个消息的情况

$rootScope.$on(‘saveDraft‘, function() {
            $scope.saveDraft();
        });
        $rootScope.$on(‘previewPosition‘, function() {
            $scope.previewPosition();
        });
        $rootScope.$on(‘publishJob‘, function() {
            $scope.publishJob();
        });

    $scope.previewPosition = function() {
        $scope.$emit(‘previewPosition‘);
    };
    $scope.saveDraft = function() {
        $scope.$emit(‘saveDraft‘);
    };
    $scope.publishJob = function() {
        $scope.$emit(‘publishJob‘);
    };

正确方式

$scope.$on(‘saveDraft‘, function() {
            $scope.saveDraft();
        });
        $scope.$on(‘previewPosition‘, function() {
            $scope.previewPosition();
        });
        $scope.$on(‘publishJob‘, function() {
            $scope.publishJob();
        });

    $scope.previewPosition = function() {
        $rootScope.$broadcast(‘previewPosition‘);
    };
    $scope.saveDraft = function() {
        $rootScope.$broadcast(‘saveDraft‘);
    };
    $scope.publishJob = function() {
        $rootScope.$broadcast(‘publishJob‘);
    };
时间: 2024-11-05 18:59:18

angular $emit发送 后退时$on多次接收的相关文章

httpurlconnection发送文件到服务端并接收

httpurlconnection发送文件到服务端并接收 客户端 import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; /* * @author xk * 上传文件到文件服务器的客户端 */ public clas

Unity3D 研究院之IOS高级界面发送消息与Unity3D消息的接收

今天和盆友们讨论IOS的高级界面与unity3d游戏引擎的交互,这个在开发中是非常重要的,unity3d 毕竟是一个面向多平台的一个游戏引擎,它不可能全部为IOS 考虑的面面俱到,引擎中也不存在针对IOS的高级界面的控件的使用. 本例实现游戏背景是Unity3D 的游戏世界,前面添加4个IOS的高级界面的按钮,并且点击这些按钮可以将消息传递给背景的Unity3D ,让它做一些事情. 上一章介绍了触摸IOS屏幕 移动摄像机的位置,下面有盆友问我说他不想移动摄像机的位置,就想移动物体的位置,我在这里

office2013中Excel表格提示向程序发送命令时出现问题

office2013中提示向程序发送命令时出现问题解决方法/步骤: 选项-高级-常规-忽略使用动态数据交换DDE的其他应用程序  

打开excel2007"向程序发送命令时出现问题"

1.下图为打开excel2007报错的提示"向程序发送命令时出现问题" 2.单击左上角的OFFICE图示,选择--Excel选项 3.选择--高级,并向下拖动滚动条 4.找到"忽略使用动态数据交换(DDE)的其他应用程序",将前面的勾去掉,单击--确定 5.修改完毕,重新打开文件正常显示 6. 有些朋友们的excel表使用上述方法不好用,下面再介绍下另一种方法: 单击--OFFICE图标--选中--Excel(选项) 7.依次选中--加载项--COM选项--单击--

Visual Studio打开文件时出现“向程序发送命令时出现问题

在使用VS2008调试程序时发现双击cpp文件无法直接打开,VS2008提示"向程序发送命令时出现问题",从而无法直接打开文件,必须在开启VS2008之后,在软件内打开cpp文件.h文件也差不多.上网后查到两种方法,供大家参考: 解决方法一:打开注册表编辑器,将[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts \DDECache\VisualStudio.9.0\system]表

VS2010打开文件时出现“向程序发送命令时出现问题

问题现象: 通过鼠标右键选择Visual Studio 2010打开某个文件或者直接打开VS2010关联的文件(比如:.aspx文件)时,出现“向程序发送命令时出现问题(There was a problem sending the command to the program)”错误提示窗口,VS2010虽然启动了,但文件没有打开. 解决方法: 运行regedit打开注册表编辑器,进入 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentV

打开Word提示向程序发送命令时出现问题怎么办

先看看出现问题截图: 问题解决: 检查word的加载项目: 将加载项的勾一个一个去掉,点确定进行测试. 如果加载项太多了,可以对那些可疑项优先测试,如那些与microsoft无关的项.

打开Excel时提示“向程序发送命令时出现问题”

Excel界面中点击"文件",选择"选项",在弹出的"Excel选项"对话框中依次点击"高级"-"常规",然后取消勾选"忽略使用动态数据交换(DDE)的其他应用程序": 原文地址:https://www.cnblogs.com/goalie/p/9409734.html

java httpclient发送json 请求 ,go服务端接收

/***java客户端发送http请求*/package com.xx.httptest; /** * Created by yq on 16/6/27. */ import java.io.IOException; import java.net.URLEncoder; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.GetMethod; import org.apache