2016-05-15 173 views
1

我想用單選按鈕實現$ionicPopup。但是,我所嘗試的並不像預期的那樣工作。我應該有3個選項可供選擇,所以如果我選擇選項'1'並按'是',我希望控制檯日誌打印出'1'...到目前爲止,我似乎無法連接單選按鈕它在控制器中是等效的範圍變量。離子彈出式單選按鈕

如何反映從離子彈出窗口加載的單選按鈕部分的更改?

在控制器:

$ionicPopup.confirm({ 
        templateUrl: 'templates/partials/orderPopup.html', 
        title: 'XYZ?', 
        scope: $scope, 
        buttons: [{ 
         text: 'Yes', 
         type: 'button-positive', 
         onTap: function (e) { 
          console.log($scope.choice); 
         } 
        }, { 
         text: 'No', 
         type: 'button-default', 
         onTap: function (e) { 
          $state.go('shoppingCart'); 
         } 
        }] 
       }) 

,並考慮:

<ion-list ng-controller="shoppingCartCtrl"> 
    <style> 
     .wrapping-list .item-content, .wrapping-list .item { 
      overflow: initial; 
      white-space: initial; 
     } 
    </style> 
    <ion-radio class="wrapping-list" ng-model="choice" ng-value="'1'">Option1</ion-radio> 
    <ion-radio class="wrapping-list" ng-model="choice" ng-value="'2'">Option2</ion-radio> 
    <ion-radio class="wrapping-list" ng-model="choice" ng-value="'3'">Option3</ion-radio> 
</ion-list> 

如果我彈出呼叫之前做出$scope.choice = 2,那麼我就可以看到選項2被選擇爲默認值,但是,點擊任何其他選項,然後單擊確定,控制檯返回2

+0

預期的行爲不清楚 –

+0

我已經編輯它...現在清楚了嗎? – Norgul

回答

2

問題出在ng-model。角模型中的雙向裝訂模型是一個物體,從視圖和控制器可以是updated via reference。所以,如果你改變如下模型,您的代碼將工作:

控制器

$scope.choice = { 
    value: '2' 
}; 

HTML

<ion-radio class="wrapping-list" ng-model="choice.value" ng-value="'1'"> 
    Option1 
</ion-radio> 
<ion-radio class="wrapping-list" ng-model="choice.value" ng-value="'2'"> 
    Option2 
</ion-radio> 
<ion-radio class="wrapping-list" ng-model="choice.value" ng-value="'3'"> 
    Option3 
</ion-radio> 

我創建了一個codepen在這裏展示工作代碼:http://codepen.io/addi90/pen/aNroNN?editors=1010

+0

對於我的問題,我忘記了單引號的價值。 –