$scope.clearCompleted = function()
{
angular.forEach($scope.todos, function(todo, i)
{
if(todo.done)
{
$scope.todos.splice(i, 1);
}
});
if($scope.todos.length == 0)
{
$scope.isEmpty = true;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我从数组中删除'done'待办事项的代码,但是当两个todos相继删除后,它只删除第二个.我认为这是因为splice函数重置并返回拼接数组.
我制作了一些Angular路线,如下面的代码所示.
app.config(function($routeProvider, $locationProvider, $provide) {
$routeProvider
.when('/', {
templateUrl: 'home.html',
controller: 'AppCtrl'
});
.when('/portfolio', {
templateUrl: 'portfolio.html',
controller: 'AppCtrl'
})
$provide.decorator('$sniffer', function($delegate) {
$delegate.history = historyCompatCheck();
return $delegate;
});
$locationProvider.html5Mode(true);
});
Run Code Online (Sandbox Code Playgroud)
这工作正常,在我将基础href设置为"/"后,它接受了一个带有"/ portfolio"的href的锚,但是当我转到" http://url.com/portfiolo "或尝试重新加载页面时当我在投资组合路线上时,它会给我一个服务器错误.我能为此做些什么吗?
提前致谢.
这是我的Angular代码:
angular.module('player', [])
.directive('playButton', function() {
return {
restrict: 'A',
/* I want to get the element parameter bellow as HTMl,
not an object with an element stored within.
I don't want to access the HTML element as element[0]*/
link: function($scope, /* this parameter -> */ element, attr) {
console.log(typeof(element));
// element[0].addEvent('click', function() {
// console.log('Moo!');
// });
}
}
})
Run Code Online (Sandbox Code Playgroud)
我想要实现的是将链接方法中的元素参数作为html获取,以便我可以使用MooTools操作它.有没有办法阻止在元素变量之后使用[0]?