首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angularjs模式-如何在模态打开时动态设置模态内容

Angularjs模式-如何在模态打开时动态设置模态内容
EN

Stack Overflow用户
提问于 2017-10-05 07:53:07
回答 2查看 2K关注 0票数 1

当模态是开放的/活动的时候,如何为模态内容设置新的值?

这是示例代码。

代码语言:javascript
复制
angular.module('plunker', ['ui.bootstrap']);
var ModalDemoCtrl = function ($scope, $modal, $log, $timeout) {
    $scope.test = "test variable"
    var modalInstance = $modal.open({
      templateUrl: 'myModalContent.html',
      controller: ModalInstanceCtrl,
      resolve: {
        test: function () {
          return $scope.test;
        }
      }
    });

$timeout( function(){
            $scope.test = "Hello World!";
        }, 5000 );


};

var ModalInstanceCtrl = function ($scope, $modalInstance, test) {

  $scope.test = test;
  $scope.$watch('test',function (newValue, oldValue) {
    $scope.test = test;
  });
};

在父控制器中,我用“测试变量”插入模态1,超时后(5秒),我希望模态变量更改为"Hello“,而不关闭模态。

可以测试这里

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-05 07:59:49

您可以直接将控制器作用域绑定到类似于

代码语言:javascript
复制
var modalInstance = $modal.open({
      templateUrl: 'myModalContent.html',
      controller: ModalInstanceCtrl,
      scope: $scope
    });

这是工作柱塞

票数 3
EN

Stack Overflow用户

发布于 2017-10-05 13:02:27

在$timeout中使用ModaInstanceCtrl函数,然后相应地更改变量的作用域值。下面是示例代码:

代码语言:javascript
复制
angular.module('plunker', ['ui.bootstrap']);

var ModalDemoCtrl = function ($scope, $modal, $log) {
    $scope.test = "test variable"
    var modalInstance = $modal.open({
      templateUrl: 'myModalContent.html',
      controller: ModalInstanceCtrl,
      scope: $scope,
      resolve: {
        test: function () {
          return $scope.test;

        }
      }
    });
};

var ModalInstanceCtrl = function ($scope, $modalInstance, $timeout, test) {

    $timeout(function(){
        $scope.test = "variable" 
    }, 2000);

};

http://plnkr.co/edit/f1zhkWH6aEtZDoKv8egO?p=preview

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46580561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档