属性之间角度依赖的简写

时间:2015-10-28 12:40:20

标签: javascript angularjs

我有以下情况

src

我的控制器内部directives.directive('x', function () { return { scope: { a: "=", b: "=" }, controller: function($scope){ if((angular.isDefined($scope.a) && !angular.isDefined($scope.b)) || (!angular.isDefined($scope.a) && angular.isDefined($scope.b))){ throw new Error('a and b need to be specified'); } } }; } 出现问题。正如您所看到的,它很难阅读,而且效率不高。

它要做的是查看if上是否定义了ab。他们都可以错过,但如果其中一个被指定,另一个必须成为强制性的。

有没有更好的方法来写这个?

稍后编辑: 还有关于在范围上有三个变量并且我们需要相同行为的情况。你将如何进行?

1 个答案:

答案 0 :(得分:1)

您可以使用函数isUndefined

if(angular.isUndefined($scope.a) || angular.isUndefined($scope.b))
        {
            throw new Error('a and b need to be specified');
        }