2016-01-21 31 views
3

我創建了一個項目$ionicPopup。我把$ionicPopup代碼放在.factory。在我的$ionicPopup.show()中,我要求用戶輸入一個值。在用戶已經輸入了該值後,它會提醒用戶寫入的值。

我也檢查了以下帖子,但仍然無法解決我的問題Access scope inside an angular js factory

因此,這裏是我的代碼:

控制器

.controller('PopupCtrl',function($scope, $ionicPopup, $timeout, popupService) { 

// Triggered on a button click, or some other target 
$scope.showPopup = function() { 

    var showParameter = { 
    title: "Test", 
    cssClass: "", 
    subTitle: "Insert any value", 
    template: '<input type="text" ng-model="value">', 
    templateUrl: "", 
    buttons: { 
     cancelText: "Reject", 
     cancelType: "button-assertive", 
     okText: "Accept", 
     okType: "button-positive" 
    } 
    } 

    // An elaborate, custom popup 
    popupService.show(showParameter, $scope).then(function(res) { 
    console.log('Tapped!', res); 
    alert("value: " + res); 
    }); 
    }; 
}) 

工廠

.factory('popupService', function ($ionicPopup) { 
    return{ 
     show: function(param, scope){ 
      var show = $ionicPopup.show({ 
       title: param.title, // String. The title of the popup. 
       cssClass: param.cssClass, // String, The custom CSS class name 
       subTitle: param.subTitle, // String (optional). The sub-title of the popup. 
       template: param.template, // String (optional). The html template to place in the popup body. 
       templateUrl: param.templateUrl, // String (optional). The URL of an html template to place in the popup body. 
       scope: scope, // Scope (optional). A scope to link to the popup content. 
       buttons: [{ // Array[Object] (optional). Buttons to place in the popup footer. 
       text: param.buttons.cancelText, 
       type: param.buttons.cancelType, 
       onTap: function(e) { 
        return false; 
       } 
       }, { 
       text: param.buttons.okText, 
       type: param.buttons.okType, 
       onTap: function(e) { 
        // Returning a value will cause the promise to resolve with the given value. 
        return scope.value; 
       } 
       }] 
      }); 
      return show; 
     } 
    } 
}); 

DEMO:http://codepen.io/aishahismail/pen/pgpdGW?editors=101

你的幫助確實需要。謝謝。

回答