更新角度材质Modal UI

时间:2016-03-23 06:23:40

标签: angularjs angular-ui angular-material

我在控制器中有一个变量:

$scope.myName = "Jack";

我在一个按钮上有一个ng-click=open()来打开一个模态。点击后我想更改该变量的名称,并希望在模态UI中显示更新的值。不幸的是,它显示了旧的价值。

$scope.open = function(){
    $scope.myName = "changed";

    $mdDialog.show({
            templateUrl: '/app/dataModal.html',
            parent: angular.element(document.body),
            targetEvent: ev,
            clickOutsideToClose: true
        })
}


//dataModal.html
<md-dialog ng-controller="myCtrl">{{myName}}</md-dialog>

1 个答案:

答案 0 :(得分:1)

1)如果要使用对话框中的输入更改范围项值,则应使用promise方式处理具有输入的对话框。点击此处查看示例:http://codepen.io/shershen08/pen/aNWBBd

$mdDialog.show(confirm).then(function(result) {
  $scope. myName = result;
}, function() {
  $scope. myName = result;
});

这不应该在你的$scope.open = function(){函数中,而应该在它之外。

2)如果您只需要在对话框中显示范围值,那么您当前的代码就可以了,您只需要编辑模板以匹配:

//dataModal.html
<md-dialog>{{myName}}</md-dialog>

以下是此案例的演示:http://codepen.io/shershen08/pen/pyPNaM?editors=1010