javascript - Angularjs 自动使用 data-src - 想要使用 jquery.unveil.js

标签 javascript jquery angularjs image lazy-loading

我用 Unveil 延迟加载图像在 Angular 应用程序内。 Unveil 使用 data-src 中的真实图像 URL,并且不能使用像 data-unveil 这样的自定义“数据属性”。

问题是 Angular 会自动将“data-src”转换为“src”。 WTF!

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app>
    <ul>
        <li>Angular uses data-src as src attribute</li>
        <li ng-repeat="foo in ['Photo A', 'Photo B']">
            <img data-src="http://placehold.it/250x150&text={{foo}}" src="http://placehold.it/250x150&text=LazyLoad" />{{foo}}
        </li>
    </ul>
    <ul>
        <li>Changed "data-src" to "data-unveil", but unveil can't use it</li>
        <li ng-repeat="bar in ['Photo A', 'Photo B']">
            <img data-unveil="http://placehold.it/250x150&text={{bar}}" src="http://placehold.it/250x150&text=LazyLoad" />{{bar}}
        </li>
    </ul>
</div>

最佳答案

您可以使用指令:

app.directive('unveil', function () {
  return {
    link: function (scope, element, attrs) {
        $(element).unveil();            
    }
  };
});

http://plnkr.co/edit/9KLLqHiT4KC2Z9onUizy?p=preview

经验法则:如果您想集成 jquery 插件,请始终使用指令。

关于javascript - Angularjs 自动使用 data-src - 想要使用 jquery.unveil.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25927668/

相关文章:

jquery - 设置 CSS 高度和垂直滚动时多余的多余空间

javascript - 如何从jtemplate中的javascript读取数据

javascript - AngularJS 1.5组件模板完全渲染后触发功能

javascript - 根据下拉选择更改单选按钮的值

javascript - 如果情况属实,如何在 div 中使用一个类而不是另一个类?

javascript - 如何通过 api 调用使用 javascript 自动完成

javascript - ng 模型值在自定义指令中打印未定义

javascript - "undefined is not a function"onSuccessHandler

php - 在 PHP 中输​​出 jQuery,引号问题

javascript - 如何在$q下传递多个$http promise