按住Shift键可在不使用angular指令的情况下向对象添加值

Kim*_*Man 5 javascript javascript-events angularjs angularjs-directive

在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>
...
Run Code Online (Sandbox Code Playgroud)

控制器:

...
$scope.addFruit = function(fruitName) {
    $scope.fruitObject.name = fruitName;
};

$scope.fruitObject = {
    name: '',
}
Run Code Online (Sandbox Code Playgroud)

因此,如果单击HTML文件中的链接,它将更改fruitObject.name.我想添加一个函数,如果我点击带有shift键的链接,该值将被添加到fruitObject:

$scope.fruitObject = {
    name: ['Apple', 'Banana']
}
Run Code Online (Sandbox Code Playgroud)
  1. 我可以不使用角度指令吗?
  2. 如果我可以/不能,你能写一个示例代码吗?

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

Pro*_*man 12

根据文档,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
    }
};
Run Code Online (Sandbox Code Playgroud)