点击Shift键可以在不使用angular指令的情况下为对象添加值

Shift click to add value to object without using angular directive

本文关键字:情况下 指令 对象 添加 angular Shift 点击      更新时间:2023-09-26

在HTML文件中:

...
<ul>
    <li><a href="#" ng-click="addFruit('Apple')">Apple</a></li>
    <li><a href="#" ng-click="addFruit('Banana')">Banana</a></li>
    <li><a href="#" ng-click="addFruit('Coconut')">Coconut</a></li>
</ul>
...

控制器:

...
$scope.addFruit = function(fruitName) {
    $scope.fruitObject.name = fruitName;
};
$scope.fruitObject = {
    name: '',
}
所以,如果我点击HTML文件中的链接,它会改变fruitObject.name。我想添加的功能是,如果我点击链接与shift键,值将被添加到水果对象:

$scope.fruitObject = {
    name: ['Apple', 'Banana']
}
    我能在不使用angular指令的情况下做到这一点吗?
  1. 如果我能/不能,你能写一个示例代码吗?

JSFiddle: http://jsfiddle.net/6QcEc/

根据文档,ngClick可以给你$event对象,它可以告诉你是否按下了shift键。

<li><a href="#" ng-click="addFruit('Apple',$event)">Apple</a></li>
            ...
$scope.addFruit = function(fruitName,$event) {
    $scope.fruitObject.name = fruitName;
    if($event.shiftKey){
         //logic
    }
};