【问题标题】:Turning a JQuery plugin into an AngularJS Directive?将 JQuery 插件变成 AngularJS 指令?
【发布时间】:2014-07-16 15:22:40
【问题描述】:

我是 AngualrJS 世界的新手,我正在了解如何将 JQuery Slider 插件转换为自定义指令,以便它在 AngularJS 中运行

当前 jquery 在 id 'camera-wrap' 上触发

<div id="camera_wrap" >
    .......image content etc.....
</div>

然后是函数

 <script type="text/javascript">
 function startCamera() 
  { $('#camera_wrap').camera(
  { fx:'random', time: 2000, loader: 'none', playPause: false, height: '65%',
    pagination: true });   } $(function () { startCamera() });
 </script>

非常感谢任何帮助!

谢谢 标记

【问题讨论】:

    标签: javascript jquery angularjs plugins


    【解决方案1】:

    我可能只是将它包装在一个指令中:

    <div id="camera_wrap" camera-plugin>
    

    还有指令

    app.directive("cameraPlugin", [function() {
        return {
            restrict: "A",
            link: function(scope, elem, attrs) {
                $(elem).camera({ 
                    fx:'random', 
                    time: 2000, 
                    loader: 'none', 
                    playPause: false, 
                    height: '65%',
                    pagination: true 
                });
    
                startCamera(); //wherever this is defined?
            }
        }
    }]);
    

    【讨论】:

    • 谢谢,很有魅力。我更明白了,再次感谢:)
    • 不是将 jquery 包装在一个被认为是不好的做法的指令中吗?
    • @britztopher -- Angular 中的 jQuery 通常不受欢迎,但是有一些 jQuery 特定的插件——在这种情况下,我发现最好将它们包装在一个指令中,因为它很可能处理 DOM 操作.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-24
    • 1970-01-01
    相关资源
    最近更新 更多