如何在 Angularjs 的 $mdDialog 中获取 HTML 元素

金宝

我在我的 angular 应用程序中实现了一个 $mdDialog,当我单击一个按钮时,它由以下代码显示:

            // Show the dialog
        $mdDialog.show({
            clickOutsideToClose: true,
            controller: function($mdDialog) {
                this.item = item;
                this.close = function() {
                    $mdDialog.cancel();
                };
        var video = document.getElementById('video');

            },
            controllerAs: 'dialog',
            templateUrl: 'templateurl',
            targetEvent: $event
        });

在我的 templateurl 中是一个 HTML 文档,其中包含以下元素

<video id="video"></video>

我正在尝试通过控制器中的“document.getElementById”访问视频元素(请参阅代码)。由于控制器是在呈现 html 之前加载的,因此我返回了一个空对象...

有没有人已经做到了这一点?

乔治亚

创建一个指令来将元素放在作用域上:

app.directive("onElemLink", function() {
    return postLink;
    function postLink(scope, elem, attrs) {
        scope.$eval(attrs.onElemLink, {$elem: elem});
    }
});

用法:

<video on-elem-link="videoElem=$elem"></video>

在控制器中:

$scope.videoElem.on("load", function(event) {
    console.log(videoElem[0].videoHeight);
    console.log(videoElem[0].videoWidth);
});

AngularJS 框架在将元素添加到 DOM 后调用指令的 postLink 函数。这是实现依赖于元素存在的代码的最佳位置。


我在 $scope.videoElem.on(..) 的控制器中收到错误“无法读取未定义的属性 'on'”。我认为这是因为无论指令是否已加载,代码都会执行?

使用该指令的另一种方法是提供一个函数:

<video on-elem-link="videoOnLink($elem)"></video>

在控制器中:

$scope.videoOnLink(elem) {
    console.log("video element linked");
    $scope.videoElem = elem;
    $scope.videoElem.on("load", function(event) {
        console.log(videoElem[0].videoHeight);
        console.log(videoElem[0].videoWidth);
    });
});

videoOnLink$compile 服务将指令链接到 DOM后调用函数

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在UIWebView中获取所有HTML元素

来自分类Dev

如何在AngularJS中显示隐藏的元素?

来自分类Dev

在AngularJS中无需JQuery即可获取HTML元素高度

来自分类Dev

在运行时在AngularJS中获取HTML元素的宽度

来自分类Dev

如何在Capybara中获取DOM元素的HTML?

来自分类Dev

如何在HTML <p>(段落)元素中获取文本

来自分类Dev

如何在Extjs中获取动态html元素的图像

来自分类Dev

如何在jQuery中按名称获取html元素?

来自分类Dev

如何在angularjs中获取元素的当前位置

来自分类Dev

从html AngularJS中删除元素

来自分类Dev

如何在AngularJS中获取此D3.js HTML元素,以便对其进行操作?

来自分类Dev

如何在JavaScript中而不是HTML元素中设置AngularJS验证

来自分类Dev

如何在HTML元素中获取href?

来自分类Dev

如何获取javascript中html元素的邻居?

来自分类Dev

如何获得在AngularJS中调用函数的HTML元素?

来自分类Dev

如何在javascript中按类名获取html元素

来自分类Dev

从AngularJS指令获取HTML元素类

来自分类Dev

AngularJS在获取HTML元素的控制器中引用表单

来自分类Dev

在运行时在AngularJS中获取HTML元素的宽度

来自分类Dev

从html AngularJS中删除元素

来自分类Dev

AngularJS:如何获取元素高度

来自分类Dev

如何在JavaScript中而不是HTML元素中设置AngularJS验证

来自分类Dev

如何在javascript中获取HTML元素的值?

来自分类Dev

如何使用angularjs在html元素中获取文本?

来自分类Dev

如何在 PHP 中获取 HTML 元素的高度

来自分类Dev

HTML 中的未知元素名称,如何获取?

来自分类Dev

如何在 angularjs 中获取子元素

来自分类Dev

如何在 Angular 组件中获取 html 元素类?

来自分类Dev

如何在包含 html 元素的列表中获取链接?

Related 相关文章

  1. 1

    如何在UIWebView中获取所有HTML元素

  2. 2

    如何在AngularJS中显示隐藏的元素?

  3. 3

    在AngularJS中无需JQuery即可获取HTML元素高度

  4. 4

    在运行时在AngularJS中获取HTML元素的宽度

  5. 5

    如何在Capybara中获取DOM元素的HTML?

  6. 6

    如何在HTML <p>(段落)元素中获取文本

  7. 7

    如何在Extjs中获取动态html元素的图像

  8. 8

    如何在jQuery中按名称获取html元素?

  9. 9

    如何在angularjs中获取元素的当前位置

  10. 10

    从html AngularJS中删除元素

  11. 11

    如何在AngularJS中获取此D3.js HTML元素,以便对其进行操作?

  12. 12

    如何在JavaScript中而不是HTML元素中设置AngularJS验证

  13. 13

    如何在HTML元素中获取href?

  14. 14

    如何获取javascript中html元素的邻居?

  15. 15

    如何获得在AngularJS中调用函数的HTML元素?

  16. 16

    如何在javascript中按类名获取html元素

  17. 17

    从AngularJS指令获取HTML元素类

  18. 18

    AngularJS在获取HTML元素的控制器中引用表单

  19. 19

    在运行时在AngularJS中获取HTML元素的宽度

  20. 20

    从html AngularJS中删除元素

  21. 21

    AngularJS:如何获取元素高度

  22. 22

    如何在JavaScript中而不是HTML元素中设置AngularJS验证

  23. 23

    如何在javascript中获取HTML元素的值?

  24. 24

    如何使用angularjs在html元素中获取文本?

  25. 25

    如何在 PHP 中获取 HTML 元素的高度

  26. 26

    HTML 中的未知元素名称,如何获取?

  27. 27

    如何在 angularjs 中获取子元素

  28. 28

    如何在 Angular 组件中获取 html 元素类?

  29. 29

    如何在包含 html 元素的列表中获取链接?

热门标签

归档