我正在尝试使用 $ionicActionSheet
来执行函数。此外,在下面的示例中,当用户单击第一个选项“执行其他操作”时,我想调用 doSomethingElse()
。我可以在函数 buttonClicked()
中成功执行命令,但它不想调用外部函数。
//在 Controller 内
$scope.doSomethingElse = function(textStr) {
window.alert(textStr)
}
$scope.showActions = function(friendName) {
$ionicActionSheet.show({
buttons: [
{ text: 'do something else },
{ text: 'do something' },
],
destructiveText: 'View all',
titleText: '<h4>' + friendName + ' </h4>',
cancelText: 'Cancel',
buttonClicked: function(index, $scope) {
if(index==0) {
// window.alert("Hello"); works fine
$scope.doSomethingElse("Index 0")
}
if(index==1) {
// window.alert("Hello"); works fine too
$scope.doSomethingElse("Index 1")
}
return true;
},
destructiveButtonClicked: function() {
window.alert("Hey All");
return true;
}
});
}
最佳答案
替换以下内容:
buttonClicked: function(index, $scope) {
与:
buttonClicked: function(index) {
或者将第二个参数重命名为:
buttonClicked: function(index, button) {
否则它将覆盖$scope
变量。传递给buttonClicked函数的第二个参数不是$scope
,而是按钮对象。
关于javascript - 如何在buttonClicked上调用$ionicActionSheet之外的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28113806/