Javascript ng中的多个功能单击仅启用一次功能
我创建了一个函数,它结合了另外两个函数(recorder.start()和recorder.stop()),可以分别启动。当我试图在一次单击中添加这些函数时,程序一次只能启动一个函数。如果程序想启动第二个功能,我必须再次按下按钮。按下一次按钮后是否可以启动两个功能 JavaScriptJavascript ng中的多个功能单击仅启用一次功能,javascript,angularjs,google-chrome,Javascript,Angularjs,Google Chrome,我创建了一个函数,它结合了另外两个函数(recorder.start()和recorder.stop()),可以分别启动。当我试图在一次单击中添加这些函数时,程序一次只能启动一个函数。如果程序想启动第二个功能,我必须再次按下按钮。按下一次按钮后是否可以启动两个功能 JavaScript $scope.record = function() { recorder.start($scope.recordConfig).then(function() { var
$scope.record = function() {
recorder.start($scope.recordConfig).then(function() {
var test = $scope.recordConfig.captureSource;
recorder.stop();
})
},
n.start = function(e) {
return t.postMessage("start", e)
},
n.stop = function() {
t.postMessage("stop")
},
c.postMessage = function(e, t) {
return c.getPort().then(function(n) {
return n.postMessage({
type: e,
data: t
})
})
},
HTML
对于函数,第二个参数是您已经应用的回调,但如果仔细检查,您会发现您也在注入第三个参数,并将其视为回调。通过在另一个函数中调用一个函数,可以很容易地做到这一点 例如
$scope.ParentFunction=function(){
$scope.child_sibling1();
}
$scope.child_sibling1=function(){
$scope.child_sibling2();
}
$scope.child_sibling2=function(){
//your code
}
对于函数,第二个参数是您已经应用的回调,但如果仔细检查,您会发现您也在注入第三个参数,并将其视为回调。通过在另一个函数中调用一个函数,可以很容易地做到这一点 例如
$scope.ParentFunction=function(){
$scope.child_sibling1();
}
$scope.child_sibling1=function(){
$scope.child_sibling2();
}
$scope.child_sibling2=function(){
//your code
}
此示例向您展示了如何使用$timeOut通过单击调用两个函数
在“CallFun”中,我们手动使用$timeout,在2秒后调用“fun2()
您也可以通过调用API来实现这一点
var-app=angular.module(“app”,[])
应用程序控制器(“ctrl”,函数($scope,$timeout){
$scope.fun1=函数(){
$scope.message=“返回函数1”
}
$scope.fun2=函数(){
$scope.message=“返回函数2”
}
///这是手动超时
$scope.callFun=函数(){
$scope.fun1();
$timeout(函数(){
$scope.fun2();
}, 2000);
}
});代码>
使用$timeout调用函数
{{message}}
此示例向您展示了如何使用$timeOut通过单击调用两个函数
在“CallFun”中,我们手动使用$timeout,在2秒后调用“fun2()
您也可以通过调用API来实现这一点
var-app=angular.module(“app”,[])
应用程序控制器(“ctrl”,函数($scope,$timeout){
$scope.fun1=函数(){
$scope.message=“返回函数1”
}
$scope.fun2=函数(){
$scope.message=“返回函数2”
}
///这是手动超时
$scope.callFun=函数(){
$scope.fun1();
$timeout(函数(){
$scope.fun2();
}, 2000);
}
});代码>
使用$timeout调用函数
{{message}}
您可以通过使用“;”分隔多个函数,在NGC中添加多个函数,但在本示例中,您需要检测启动函数超时,对吗?您没有同步执行它们<仅当从start
返回的承诺成功时,才会调用code>stop
。你确定是吗?如果您不想这样做,只需从外部调用停止
,然后
-success函数。还有什么是“tab”!==测试和“桌面”!==测试a.IS|E2E代码>?“它似乎没什么作用,对吧?”梅尔,谢谢你。我曾尝试在HTML中添加“;”,但在这种情况下不起作用。我可以问一下如何检测超时吗?@Gustav谢谢。我删除了“tab…”另外,我尝试将stop()放在(function())之外,但它也显示了相同的症状。我还得再按一下按钮才能启动停止()。你的问题没有多大意义。。。当然,如果您将start()
和stop()
放在要通过ng单击执行的函数中,则会调用它们。您是如何确定它们没有被调用的?我认为是你在函数中的逻辑是错误的,使你认为它们没有正确执行。如果将console.logs放在start
和stop
中,您将看到这两个日志都被执行(也假设您将stop
放在之外,那么
),您可以在NGO中添加多个函数,方法是用“;”分隔,但在本示例中,您需要检测启动函数超时,是吗?你没有同步执行它们<仅当从start
返回的承诺成功时,才会调用code>stop
。你确定是吗?如果您不想这样做,只需从外部调用停止
,然后
-success函数。还有什么是“tab”!==测试和“桌面”!==测试a.IS|E2E代码>?“它似乎没什么作用,对吧?”梅尔,谢谢你。我曾尝试在HTML中添加“;”,但在这种情况下不起作用。我可以问一下如何检测超时吗?@Gustav谢谢。我删除了“tab…”另外,我尝试将stop()放在(function())之外,但它也显示了相同的症状。我还得再按一下按钮才能启动停止()。你的问题没有多大意义。。。当然,如果您将start()
和stop()
放在要通过ng单击执行的函数中,则会调用它们。您是如何确定它们没有被调用的?我认为是你在函数中的逻辑是错误的,使你认为它们没有正确执行。如果您将console.logs放在start
和stop
中,您将看到这两个日志都被执行(也假设您将stop
放在之外,那么
)您好,感谢您解决了前面的问题。我可以再问你一个关于func2行为的问题吗?我的程序中的html类似于chrome中的弹出窗口,但当我想切换到另一个网页时,html将被关闭,func1仍在后台运行。但是,func2将不再被触发。你们知道解决这个问题的方法吗?嗨,请用样品问你们的问题,我可以更好地回答你们。tnxI在问题区域添加了更多细节。如果不够清楚,请告诉我。非常感谢。嗨,谢谢你解决了前面的问题。我可以再问你一个关于func2行为的问题吗?我的程序中的html就像chrome中的弹出窗口,但当我想切换到另一个网页时,html将
$scope.ParentFunction=function(){
$scope.child_sibling1();
}
$scope.child_sibling1=function(){
$scope.child_sibling2();
}
$scope.child_sibling2=function(){
//your code
}