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