Angular Js 尝试从主按钮回调动态更改模态文本并且不起作用



我正在尝试实现一个角度的js弹出窗口,文本将根据按钮的回调动态更改。

所以基本上用户会按下一个按钮,我将检查某个错误条件,如果有错误会弹出一个带有错误代码的对话框。问题是弹出窗口中的文本只显示初始化变量时的文本。如果我尝试从我的按钮回调进行更改,它不会更改文本。

有很多代码,所以我将发布重要的不同部分。

这是我的错误.html我的弹出窗口

  <div ng-controller='datarec'>
  <div class="modal-header">
    <h3 style="text-align:center">Rec Error</h3>
  </div>
  <div class="modal-body" >
    <div >{{ recError }} </div>
  </div>
  <div class="modal-footer">
    <button class="btn btn-primary" type="button" ng-click="ok()">Ok</button>
</div>

这是我弹出窗口的控制器

testApp.controller('recordErrorCtrl', function ($scope, $uibModalInstance) {
  $scope.ok = function () {
    $uibModalInstance.close(true);
  };
});

这是我的主要应用程序 JavaScript 文件

    testApp.controller('datarec', ['$scope',

  function ($scope) {

    $scope.recError  = "No error yet";  // init to this,which works

....
    $scope.sendRecMessage = function() {
      $scope.recordingError = " Init 2";  // This I never see in pop up
       // call my popup 
       popup (errorCtrler);
    }

所以基本上当我弹出错误时,它永远不会看到"Init 2",它只会停留在原来没有错误

看起来您正在使用 Angular UI Bootstrap,可能是您没有传入正确的范围或参数。尝试使用 resolve 将参数发送到弹出窗口。

var modalInstance = $uibModal.open({
      controller: 'recordErrorCtrl',
      resolve: {
        recError: function () {
          return $scope.recError;
        }
      }
    });

你的html中也有ng-controller='datarec'。这可能需要删除,以便考虑正确的控制器("recordErrorCtrl")。

最新更新