我在控制器中有一个变量:
$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>
答案 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