javascript - 如何在buttonClicked上调用$ionicActionSheet之外的函数?

标签 javascript angularjs ionic-framework

我正在尝试使用 $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/

相关文章:

javascript - meteor 全局化: deployment to different languages

angularjs - angular.js 在回调中触发 ng-show

javascript - 将参数传递给 meteor 上的不同 jscript

JavaScript:在路径未知时检查嵌套对象中是否存在键

c# - 用asp传递参数:Button onClick with x-jquery-tmpl

javascript - 使用 React Conditional Rendering,如何避免 0 被视为未定义?

javascript - Tinymce 在 angularjs mdDialog 中不工作

javascript - 如何保存从服务器下载的视频?

php - 如何使用 Angular 和 Ionic 将 Facebook 用户数据保存到 MySql 数据库

ios - 使用 CocoaPods 停止使用 ionic Project 的 iOS 构建