2014-10-30 26 views
0

我很新的角度,我正在尝试一些事情。 我创建了一个显示(切换)菜单的控制器。在菜单中有几个有一些指令的li。其中之一有ng-click="erase()"。点击它时,我希望元素本身被删除(删除)。有可能做到这一点?在jQuery的是,我认为:element.remove();

这里是我的代码:

<div ng-controller="DeathrayMenuController"> 
    <button ng-click="toggleMenu()">Toggle Menu</button> 
    <ul ng-show="menuState"> 
    <li ng-click="stun()">Stun</li> 
    <li ng-click="disintegrate()">Disintegrate</li> 
    <li ng-click="erase()">Erase from history</li> 
    </ul> 
</div> 

ng-click="erase()"应该从ul删除整个li

这里是我的代码:

$scope.erase = function(){ 
    console.log($scope); 
}; 

希望有人可以登陆我的手。非常感谢!

回答

3

要删除元素,可以使用ng-if指令。这将在表达式为false时移除元素。

下面是一个例子:

$scope.erase = function() { 
    $scope.erased = true; 
} 

<li ng-click="erase()" ng-if="!erased">Erase from history</li> 

在折角,你的JavaScript不应该操作DOM。相反,您的JavaScript操纵$scope,而指令操纵DOM。

+0

工作正常。谢谢! – 2014-10-30 18:42:45