jquery - 在从 AngularJS 的 ng-view 指令返回的 HTML 元素上调用 jQuery 函数

标签 jquery angularjs

我正在使用 angularJS 和 $route 服务来加载部分 View 文件,如下所示。

<ng-view onload="onViewLoad()">
</ng-view>

工作正常。

我的问题是尝试在返回的 html 元素上调用 jQuery 函数,该元素专门尝试从部分文件的 header 类上调用 jQuery bigtext() 函数。我已经尝试过了

        $scope.onViewLoad = function(data){
            $(.bigTitle).bigtext({
                maxfontsize: 40 // default is 528 (in px)
            };
        });

和许多类似的东西,但我的问题是我无法弄清楚如何从部分 View 中按类或 id 选择元素。谁能告诉我或引导我走向正确的方向,以了解我无法从部分 View 访问元素的原因。如果任何代码的更强大的示例将有助于让我知道。谢谢

最佳答案

任何类似的事情都需要在指令中完成。这可以确保您在代码触发时元素存在,并且可以轻松地直接在元素上调用插件...无需担心类或 ID

HTML

<h3 big-text>My Header</h3>

指令

angular.module('myApp').directive('bigText', function () {
    return {
        restrict: 'A', // "A" for attribute
        link: function (scope, elem, attrs) {
            // elem is jQ object
            elem.bigtext({
                maxfontsize: 40 // default is 528 (in px)
            });
        }
    }
});

请注意,当 Angular.js 加载之前 jQuery.js 包含在页面中时,elemlink 内的 jQuery 对象,否则它是一个包含许多内容的 jQlite 对象(但是不是全部)包含 jQuery 方法

关于jquery - 在从 AngularJS 的 ng-view 指令返回的 HTML 元素上调用 jQuery 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31821747/

相关文章:

jquery - 测试文本字符串是否是变量的一部分

javascript - 使用 Angular js 进行多重选择

javascript - 如何从javascript函数访问 Angular $scope

angularjs - $routeProvider 中每条路由的调用函数

javascript - 如果我使用 moment-with-locales ,我需要 momentJS 吗?

javascript - 如何使用 jquery javascript 对表格中的文件夹和文件进行排序

javascript - 检查页面加载时是否已选中复选框

javascript - 根据预定义配置对 HTML 元素设置动态验证标准

jquery - 如何在不使用 JQuery 中的 .css( ) 方法的情况下动态更改 CSS 属性?

angularjs - Controller 间通信, Angular 方式