Javascript 离子弹出窗口中的getelementbyid

Javascript 离子弹出窗口中的getelementbyid,javascript,angularjs,popup,ionic-framework,ionic,Javascript,Angularjs,Popup,Ionic Framework,Ionic,我想用一个按钮调用popup和一些js函数。我需要使用此功能更改弹出窗口中的文本。我的弹出代码是: angular.module('starter') .controller('PopupCtrl', function($scope, $ionicPopup, $timeout) { $scope.showAlert = function() { var alertPopup = $ionicPopup.alert({ title: '<div id

我想用一个按钮调用popup和一些js函数。我需要使用此功能更改弹出窗口中的文本。我的弹出代码是:

angular.module('starter')
  .controller('PopupCtrl', function($scope, $ionicPopup, $timeout) {
    $scope.showAlert = function() {
      var alertPopup = $ionicPopup.alert({
        title: '<div id="location-status"></div>',
        template: '<div class="text-center"><ion-spinner icon="ripple" class="spinner-positive"></ion-spinner></div>'
      });
    };
  });
和按钮:

<button class="button button-icon icon ion-android-locate" ng-click="showAlert()" onclick="writeText()"></button>
当我的div id=location状态在index.html文件中的某个位置时,它会起作用。它在弹出窗口中不起作用。怎么了?

您可以使用ng bind指令在那里添加文本。使用ng click而不是onclick

代码

我不鼓励您这样做,通过这种方式进行DOM操作 在AngularJS中被认为是坏模式


调用writeText时是否存在弹出窗口?也许onclick会在弹出窗口被创建/插入dom之前触发。我刚刚检查过它。不是那个问题。我打电话给popup,里面有。点击按钮不会弹出任何内容。谢谢,但我的writeText只是一个例子。我想在纯js中使用更大的函数。我的AngularJS知识太小,无法重写它。但如果我只能通过id获得弹出元素,我会很高兴的。有什么想法吗?还是没什么。看起来,我还是无法获取ElementById。@user293761您能给我一个plunkr吗..用您迄今为止所尝试的方法WriteText只在div id=location状态下工作,而div在我的index.html文件中。如果div在弹出窗口中,则它不起作用。我试图放置按钮,但在弹出窗口中调用writeText。所以我调用popup,然后尝试使用etelementbyid。结果是一样的。如果div在index.html中,它就可以工作。如果div在弹出窗口中,则它没有。我也试过你最后的代码。结果是一样的。添加函数也有效。如果我添加例如console.log,我可以看到它是有效的。但仍然无法获取ElementById。
<button class="button button-icon icon ion-android-locate" ng-click="showAlert()" onclick="writeText()"></button>
$scope.showAlert = function() {
  var alertPopup = $ionicPopup.alert({
    title: '<div id="location-status" ng-bind="textToBeShown"></div>',
    template: '<div class="text-center"><ion-spinner icon="ripple" class="spinner-positive"></ion-spinner></div>'
  });
};

$scope.writeText = function(){
    $scope.textToBeShown = "Some Text."
}
$scope.showAlert = function() {
  var alertPopup = $ionicPopup.alert({
    title: '<div id="location-status" ng-bind="textToBeShown"></div>',
    template: '<div class="text-center"><ion-spinner icon="ripple" class="spinner-positive"></ion-spinner></div>'
  }).then(function(){
      writeText(); //Native javascript function.
  })
};