从离子模型服务传回对象



>我已经为一个引入数组(列表)的模态创建了一个工厂,我有一个ng-click,我在其中获取index,然后获取object我想将对象传递回我的控制器,以便我可以使用它。

我不确定如何将对象传回控制器。

这是我的服务中的函数,它触发模态的open(),我正在将我从休息调用收到的模型传递给它。

function CopyModalService($ionicModal, $rootScope) {
var $scope = $rootScope.$new(),
  myModalInstanceOptions = {
    scope: $scope,
    animation: 'slide-in-up'
  };
return {
  open: open
};
function open(model) {
  $ionicModal.fromTemplateUrl('templates/copy-modal.html',
    myModalInstanceOptions)
    .then(function (modalInstance) {
      $scope.model = model;
      $scope.addCopyCertificate = function(index){
        console.log('click', $scope.model[index]);
      };
      $scope.close = function () {
        closeAndRemove(modalInstance);
      };
      return modalInstance.show(model);
    });
}

这是模态中的 html,因此您可以获得图片

<ul class="list">
    <li class="item row" ng-repeat="item in model">
      <span class="col col-67">{{item.installerReference}}</span>
      <span class="col">
      <button class="button button-calm button-calm-search ion-ios-arrow-down"
              ng-click="addCopyCertificate($index)"></button>
    </span>
    </li>
  </ul>

当我单击html中的按钮时addCopyCertificate()一切看起来都很好,但是我如何将其传递回控制器。

在我的控制器中,我像这样使用它:(正在工作)

if (res.length) {
        CopyModalService.open(res);
      }else{
        Alert.showAlert('No matching certificates');
       ....
      }

>那么$rootScope.$broadcast呢?像这样:

function CopyModalService($ionicModal, $rootScope) {
var $scope = $rootScope.$new(),
  myModalInstanceOptions = {
    scope: $scope,
    animation: 'slide-in-up'
  };
return {
  open: open
};
function open(model) {
  $ionicModal.fromTemplateUrl('templates/copy-modal.html',
    myModalInstanceOptions)
    .then(function (modalInstance) {
      $scope.model = model;
      $scope.addCopyCertificate = function(index){
        console.log('click', $scope.model[index]);
$rootScope.$broadcast('update-controller',$scope.model[index]);
      };
      $scope.close = function () {
        closeAndRemove(modalInstance);
      };
      return modalInstance.show(model);
    });
}

然后当你想获取值时.用$rootScope.$on('')(或更好的$scope.$on())附加侦听器。类似的东西

if (res.length) {
        CopyModalService.open(res);
$scope.$on('update-controller',function(event, data){
console.log(data);
});
      }else{
        Alert.showAlert('No matching certificates');
       ....
      }

相关内容

  • 没有找到相关文章

最新更新