Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过angular'传递事件预防信息;s事件对象_Javascript_Angularjs - Fatal编程技术网

Javascript 通过angular'传递事件预防信息;s事件对象

Javascript 通过angular'传递事件预防信息;s事件对象,javascript,angularjs,Javascript,Angularjs,下面是我现在如何使用参数传递有关是否应阻止事件的信息: var data = { cancel: false }; $scope.$emit("nodeadd.nodeselector", data); if (!data.cancel) { $scope.addNodeCb(type, subtype); } ... // preventing event $scope.$on("nodeadd.nodeselector", function(event, data) {

下面是我现在如何使用参数传递有关是否应阻止事件的信息:

var data = {
    cancel: false
};
$scope.$emit("nodeadd.nodeselector", data);
if (!data.cancel) {
    $scope.addNodeCb(type, subtype);
}

...
// preventing event
$scope.$on("nodeadd.nodeselector", function(event, data) {
    data.cancel = true;
});
有没有办法使用$emit返回的事件对象实现同样的功能?

如中所述,您可以使用jQuery的子集,如
preventDefault()

是的,Angular可以使用jQuery,如果它在应用程序引导时出现在应用程序中。如果您的脚本路径中没有jQuery,Angular将返回到它自己的jQuery子集实现,我们称之为jQLite


请给我们更多关于你到底想做什么的信息,具体是什么还不清楚?我试图想出一种机制来阻止事件监听器中的事件例如,为什么必须使用事件?您需要通过不同的控制器传递它吗?我使用的是事件,因为系统就是这样设计的。问题不在于:)那么,
event.preventDefault()