2015-09-30 40 views
1

在我的離子應用上,我有一個按鈕的視圖。當你點擊這個按鈕時,一個玩家列表將以模式被提供,當點擊一個玩家的名字時,所選擇的玩家的名字應該被顯示在頁面上,並且該按鈕應該被隱藏。 下面是codepen的相同 - http://codepen.io/mradul/pen/vNywqG 然而,當我在模態上選擇一個值(玩家名稱)時,範圍變量被更新(因爲它打印在控制檯上),但是更改不會反映在頁面上。 HTML -

<ion-header-bar class="bar-positive bar-header"> 
    <h1 class="title">Selected Player</h1> 
</ion-header-bar> 

<ion-content> 


    <script id="select-player.html" type="text/ng-template"> 
     <div class="modal"> 
      <ion-header-bar> 
       <h1 class="title">Choose Player</h1> 
      </ion-header-bar> 
      <ion-content> 
       <ion-list> 
        <ion-item ng-repeat="player in getPlayerList().players" ng-click="closeModal(player)"> 
         {{player}} 
        </ion-item> 
       </ion-list> 
      </ion-content> 
     </div> 
    </script> 


    <br/><br/> 
    <div id="player"> 
     {{sc.player}} 
     <div class="row"> 
     <a class="button" ng-click="openModal()" ng-show="sc.player.playerName == null">Set player</a> 
     <div ng-hide="sc.player.playerName == null"> 
      <div class="col col-33 " > {{sc.player.playerName}}</div> 

     </div> 


</ion-content> 

JS -

angular.module('ionicApp',['ionic']).controller('scoringController', function ($scope, $ionicModal) { 

    $scope.player = {playerName:""}; 

$scope.getPlayerList = function() { 
    console.log("getting player list"); 
    return { 
     "players": [ 
    "Mradul", 
    "JAin", 
    "Phunsuk Wangdu", 
    "Hulk" 
     ] 
    }; 
}; 

$ionicModal.fromTemplateUrl('select-player.html', { 
    scope: $scope, 
    animation: 'slide-in-up' 
}).then(function (modal) { 
    $scope.modal = modal 
}) 

$scope.openModal = function() { 

    console.log("Setting model open "); 
    $scope.modal.show() 
} 

$scope.closeModal = function (playerName) { 

    $scope.player.playerName = playerName; 
    //$scope.activePlayers[0] = playerName; 
    console.log("Player Set ", $scope); 
    console.log("model closed"); 
    $scope.modal.hide(); 

}; 

$scope.$on('$destroy', function() { 
    $scope.modal.remove(); 
}); 

});

玩家最初是一個原始(字符串),但我通過擁有一個屬性 - playerName將其改變爲一個對象。可能是我沒有做對。請建議如何正確更新父範圍變量。我可能錯過了一些非常基本的東西。您更改後

回答

0

試試這個,我不知道這件事

{{player.playerName}} 
+0

它的工作。我在html代碼的頂部有這樣一行代碼 - ,它並未顯示在問題中。我已經把別名作爲控制器。所以試圖使用sc.variableName訪問範圍變量。我想我只是擺脫'作爲sc'。非常感謝。 – exe

1

寫$範圍。$適用()

+0

我早些時候曾嘗試過,但它給了一個錯誤。像'範圍已經應用' – exe

相關問題