AngularJS/Javascript创建$scope运行时
我已经看了几个小时了,如果这是一个愚蠢的问题,请道歉,但是在AngularJS或Javascript中有没有办法做到以下几点: HTML //我有许多用于不同控件的html代码模板AngularJS/Javascript创建$scope运行时,javascript,angularjs,Javascript,Angularjs,我已经看了几个小时了,如果这是一个愚蠢的问题,请道歉,但是在AngularJS或Javascript中有没有办法做到以下几点: HTML //我有许多用于不同控件的html代码模板 <button data-action="flip" ng-click="imageControl($event)"></button> 问题是: 我有没有办法在运行时使用actionType创建和设置变量 为什么?所以我不必为每个控件创建10个不同的if语句 顺便说一句-我知道这不起作用
<button data-action="flip" ng-click="imageControl($event)"></button>
问题是:
我有没有办法在运行时使用actionType创建和设置变量
为什么?所以我不必为每个控件创建10个不同的if语句
顺便说一句-我知道这不起作用,但用它来说明示例我会简化问题,因为angular不需要数据属性 标记:
<button ng-click="imageControl('flip')"></button>
<div ng-show="actions.flip"> // html stuff </div>
布罗科,你是我的英雄。。。这是一个多么简单而漫长的解决方案啊!我正在制作原型等等。非常感谢!没问题,只要记住很多时候,简单的解决方案就是正确的解决方案。K.I.S.S.的进攻意图不是这件事,但我添加了$scope.actions=[];在功能开始时,确保是否有一个活动控件,用户然后单击另一个控件,您不会以错误的控件仍然处于活动状态结束。同样,初始化$scope.actions很好,但我会通过{}将其创建为对象,而不是数组[]。这是因为索引器将是字符串而不是数字。我希望当我成为JS专家时,我不会有一种不劳而获的傲慢感,因为我问了一个问题而给某人打-1分。我在特种部队呆了8年,从来没有因为问一个愚蠢的军事问题而不尊重任何人。总是寻求谦虚会使人生旅途更加愉快。
$scope.imageControl = function($event) {
// get data-action from html element e.g. flip
var actionType = $event.currentTarget.getAttribute("data-action");
$scope.actionType ? $scope.actionType = false : $scope.actionType = true;
}
<button ng-click="imageControl('flip')"></button>
<div ng-show="actions.flip"> // html stuff </div>
$scope.imageControl = function(action) {
$scope.actions[action] = !$scope.actions[action];
};