javascript - Angular Js 试图从主按钮回调中动态更改模式文本并且不起作用

标签 javascript html angularjs

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

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

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

这是我弹出的 error.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>

这是我的弹出 Controller

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”,它只会停留在原来的 No error yet

最佳答案

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

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

您的 html 中还有 ng-controller='datarec'。这可能需要删除,以便考虑适当的 Controller ('recordErrorCtrl')。

关于javascript - Angular Js 试图从主按钮回调中动态更改模式文本并且不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36850455/

相关文章:

javascript - 在react/redux状态下改变大型数据结构

javascript - 如何在两个函数之间来回切换

html - 覆盖第三方输入中的占位符值

javascript - AngularJS ng-重复重复的项目

javascript - 当ons-lazy-repeat检测到更改时如何使用ons-carousel刷新列表

javascript - ruby on Rails 中使用 sweetalert 删除方法

javascript - 使用 javascript 从 bootstrap-datepicker 的输入中获取值

javascript - 通过 JS 获取基于类的 CSS 属性不起作用

javascript - slider 不工作,控制台上没有错误 - Javascript Vanilla

javascript - jQuery 不显示附加内容