【问题标题】:Get data in Angular Material modal在 Angular Material 模态中获取数据
【发布时间】:2016-07-09 18:31:18
【问题描述】:

我通过get 请求获取数据。现在,单击一个按钮,我想打开 angular material 模态并显示该数据。 这是我的代码:

$scope.openModal = function(event) {
    $http.get('/my/api', null).then(
        function(data) { $scope.arr=data; },
        function(err) { console.log(err); }
    );

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

在模板中,我有一个表格,我想显示arr 数据。如果我在点击处理程序之外发出 get 请求,它工作正常。

【问题讨论】:

  • 您能否具体说明您的问题是什么?如果您在点击处理程序之外发出获取请求,您说它工作正常,您能否定义更多以便易于理解谢谢跨度>
  • 是在 promise 解决之前模态加载的问题吗?还是完全是另外一回事?
  • 您想为此使用resolve
  • @Parveenyadav 在此处讨论的情况下,我得到一个空数组
  • @Lex 模态在我猜之前正在加载

标签: angularjs angular-ui angular-material


【解决方案1】:

如果唯一的问题是您的arr 变量没有预期的结果,则很可能是因为.then() 的成功函数上的参数是一个对象,该对象在.data 属性中包含您的数据。所以你需要使用:

$http.get('/my/api', null).then(
    function(response) { $scope.arr = response.data; },
    function(err) { console.log(err); }
);

如果您需要延迟加载模式直到解决对您的 API 的调用,那么您只需将该代码放在您设置 $scope.arr 的同一个函数中。

【讨论】:

  • 在 console.log(arr) 上,我得到了数据,但是模态的模板 html 只获取了 openModal 函数之外的范围变量值
猜你喜欢
  • 2018-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-10
  • 1970-01-01
  • 2020-09-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多