繁体   English   中英

如何创建一个角度指令来加载jQuery?

[英]how to create an angular directive to load jquery?

我想在我的mvc + angular js项目中使用jSignature jquery插件,但是由于我没有正确的指令来加载它,因此无法在项目中加载jquery,需要帮助。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.0/jquery-ui.min.js"></script>
<script src="jquery.signature.js"></script>
<script>
    $(function () {
        $('#sig').signature();
        $('#clear').click(function () {
            $('#sig').signature('clear');
        });
        $('#json').click(function () {
            alert($('#sig').signature('toJSON'));
        });
        $('#svg').click(function () {
            alert($('#sig').signature('toSVG'));
        });
    });
</script>
</head>
<body>

这是我与jquery插件一起使用的代码,但是需要一个指令才能正确加载jquery,编写指令需要一些帮助吗?

您不需要指令来加载 jQuery。 只是在包含AngularJS之前包含jQuery,angular将使用jQuery而不是jQlite。

包含第三方js代码的最佳实践是创建一个将代码包装在link函数中的指令:

app.directive('myDir', function() {
  return {
    link:link
  };

  function link($scope, $element, $attr){

      (function ($) {
        $('#sig').signature();
        $('#clear').click(function () {
            $('#sig').signature('clear');
        });
        $('#json').click(function () {
            alert($('#sig').signature('toJSON'));
        });
        $('#svg').click(function () {
            alert($('#sig').signature('toSVG'));
        });
      }(jQuery));
  });

});

最后在需要的地方包含该指令。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM