2016-06-28 66 views
0

我想使用jSignature jquery插件与我的mvc +角度js项目,但我无法加载项目中的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,写指令需要一些帮助?

+2

[正确的方式来集成jQuery插件在AngularJS]可能的重复(http://stackoverflow.com/questions/16935095/correct-way-to-integrate-jquery-plugins-in-angularjs) – abhishek

回答

2

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

1

的最佳实践,包括第三方的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)); 
    }); 

}); 

最后包括在需要的指令。