2012-07-25 73 views
1

我的代碼在我的HTML文件角JS路由器和指令

<!doctype html> 
<html ng-app="slider"> 
<head> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min.js"></script> 
    <script type="text/javascript" ng:autobind src="http://code.angularjs.org/0.10.5/angular-0.10.5.min.js"></script> 
    <link type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/themes/redmond/jquery-ui.css" rel="stylesheet" /> 
    <script src="app.js"></script> 
</head> 

<body> 
    <div jq:slider></div> 
    <input id="amount" /> 
    {{years}} 
</body>​ 
</html> 

而且我app.js這是

angular.module('slider',[]) 
.directive('jq:slider', function() { 
return function(elm) { 
    var currentScope = this; 
    elm.slider({ 
     range: true, 
     min: 0, 
     max: 500, 
     values: [ 75, 300 ], 
     slide: function(event, ui) { 
      $("#amount").val("$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ]); 
      currentScope.years = ui.values[0];    
      currentScope.$apply(); 
     } 
    }); 
}; 
}); 

出於某種原因,當我運行這段代碼,我得到以下錯誤:

Uncaught TypeError: Object # has no method 'module'

我試過這個代碼,沒有模塊和外部文件,它的工作原理很好......任何線索?

回答

1

Err ...我認爲elm.slider是未定義的....

+0

但它通過路由器通過否? – climboid 2012-07-25 21:31:45

+0

不,elm是angular.element的一個實例,試試$(elm [0])。slider ...我認爲你應該更新到angular 1.0,0.10有點舊。如果我沒有錯,在1.0 angular.element使用jquery,如果它被加載。 – 2012-07-25 23:37:48

+0

是的,所以我更新到角1.0並重新實​​現了整個事情。這裏是回購https://github.com/climboid/angular-slider。謝謝你的幫助! – climboid 2012-07-26 00:06:18