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