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'
我試過這個代碼,沒有模塊和外部文件,它的工作原理很好......任何線索?
但它通過路由器通過否? – climboid 2012-07-25 21:31:45
不,elm是angular.element的一個實例,試試$(elm [0])。slider ...我認爲你應該更新到angular 1.0,0.10有點舊。如果我沒有錯,在1.0 angular.element使用jquery,如果它被加載。 – 2012-07-25 23:37:48
是的,所以我更新到角1.0並重新實現了整個事情。這裏是回購https://github.com/climboid/angular-slider。謝謝你的幫助! – climboid 2012-07-26 00:06:18