Angularjs 范围更改未反映在页面上

Angularjs 范围更改未反映在页面上,angularjs,angularjs-scope,ionic-framework,ionic,Angularjs,Angularjs Scope,Ionic Framework,Ionic,在我的Ionic应用程序上,我有一个带有按钮的视图。当你点击按钮时,玩家列表将以一种模式提供,当点击玩家名称时,所选玩家的名称应显示在页面上,并且按钮应隐藏。 这是同样的密码笔- 但是,当我在模式上选择一个值(播放器名称)时,范围变量会得到更新(在控制台上打印),但更改不会反映在页面上。 HTML- })) Player最初是一个基本元素(字符串),但我通过一个属性playerName将其更改为一个对象。可能是我做得不对。请建议如何正确更新父范围变量。我可能错过了一些非常基本的东西。编写$sc

在我的Ionic应用程序上,我有一个带有按钮的视图。当你点击按钮时,玩家列表将以一种模式提供,当点击玩家名称时,所选玩家的名称应显示在页面上,并且按钮应隐藏。 这是同样的密码笔- 但是,当我在模式上选择一个值(播放器名称)时,范围变量会得到更新(在控制台上打印),但更改不会反映在页面上。 HTML-

}))


Player最初是一个基本元素(字符串),但我通过一个属性playerName将其更改为一个对象。可能是我做得不对。请建议如何正确更新父范围变量。我可能错过了一些非常基本的东西。

编写$scope。$apply()在您的更改后

试试这个,我不确定

 {{player.playerName}}

我早些时候试过,但它出错了。类似于“范围已经应用”的东西它起作用了。我在html代码的顶部有一行,这在问题中没有出现。我把sc化名为控制器。因此,我们尝试使用sc.variableName访问范围变量。我想我应该去掉“as sc”。非常感谢。
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();
});
 {{player.playerName}}