当前位置: 首页 > 面试题库 >

AngularJS-图片“加载”事件

濮阳鸿卓
2023-03-14
问题内容

我一直在寻找一个简单但并非琐碎的问题的答案:onload仅使用jqLit​​e在Angular中捕获图像事件的正确方法是什么?但是我想要一些指令解决方案。 因此,正如我所说,这对我来说是不可接受的:

.controller("MyCtrl", function($scope){
    // ...
    img.onload = function () {
        // ...
    }

因为它在控制器中,而不在指令中。


问题答案:

这是angular内置事件处理指令样式的可重用指令:

angular.module('sbLoad', [])

  .directive('sbLoad', ['$parse', function ($parse) {
    return {
      restrict: 'A',
      link: function (scope, elem, attrs) {
        var fn = $parse(attrs.sbLoad);
        elem.on('load', function (event) {
          scope.$apply(function() {
            fn(scope, { $event: event });
          });
        });
      }
    };
  }]);

触发img load事件时,将在当前作用域中将sb-load属性中的表达式与load事件一起评估,并作为$ event传入。使用方法如下:

HTML

<div ng-controller="MyCtrl">
  <img sb-load="onImgLoad($event)">
</div>

JS

  .controller("MyCtrl", function($scope){
    // ...
    $scope.onImgLoad = function (event) {
        // ...
    }

注意:“ sb”只是我用于自定义指令的前缀。



 类似资料:
  • 问题内容: 我有看起来像的图片。加载单个图像时,我需要应用iScroll refresh()方法以使图像可滚动。 知道何时完全加载映像以运行某些回调的最佳方法是什么? 问题答案: 这是一个如何调用图像加载的示例http://jsfiddle.net/2CsfZ/2/ 基本思想是创建一个指令并将其作为属性添加到img标签。 JS: HTML:

  • 使用指南 组件介绍 Lazyload 是 Vue 指令,使用前需要对指令进行注册 引入方式 import Vue from 'vue'; import Lazyload from 'vue-lazyload'; Vue.use(Lazyload, { lazyComponent: true, //失败时显示 (可以自定义) error: 'https://nuofe.nnte

  • DWZ 火山引擎图片加载插件 dwz-BytedanceImageX 字节跳动火山引擎图片加载 SDK 插件【dcloud】 功能介绍 uni 原生插件市场中查看 本插件是针对字节跳动火山引擎图片加载 SDK 的封装: 支持现代图片格式 heic、heif、webp、heif、avif 在 HTML5 混合 App 中展示 支持用户感知失败率、解码失败率、解码耗时、超分成功率、超分耗时、排队耗时、

  • DWZ 火山引擎图片加载插件 dwzBytedanceImageX 字节跳动火山引擎图片加载 SDK 插件【apicloud】 功能介绍 uni 原生插件市场中查看 本插件是针对字节跳动火山引擎图片加载 SDK 的封装: 支持现代图片格式 heic、heif、webp、heif、avif 在 HTML5 混合 App 中展示 支持用户感知失败率、解码失败率、解码耗时、超分成功率、超分耗时、排队耗时

  • 本文向大家介绍图片加载完成再执行事件的实例,包括了图片加载完成再执行事件的实例的使用技巧和注意事项,需要的朋友参考一下 实例如下: 应用场景:一些图片较多的页面,一些需要加上进度条或者百分比读取等加载效果的页面,一般移动端页面用得比较多 以上这篇图片加载完成再执行事件的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 问题内容: 想知道当所有指令都完成编译/链接时,检测页面加载/引导完成的最佳方法是什么。 已经有活动了吗?我应该重载引导程序功能吗? 问题答案: Angular还没有提供一种在页面加载完成时发出信号的方式,可能是因为 “完成”取决于您的应用程序 。例如,如果您具有层次结构的局部树,则其中一个会加载其他树。“完成”将表示它们都已加载。任何框架都将很难分析您的代码并理解一切都已完成或仍在等待。为此,您