处理缺少的AngularJS指令属性的推荐方法

时间:2016-07-03 16:53:36

标签: angularjs

这是一个期望details属性的简单指令:

angular.module('myModule', [])
    .directive('myCustomer', function() {
        return {
            scope: {
                details: '=' // required, rather than the optional '=?'
            },
            templateUrl: 'my-customer.html',
            link: function(scope) {
                for (var i = 0; i < scope.details.length; i++) {
                    // do stuff
                }
            }
        };
    });

如果在没有必需属性的情况下调用它:

<my-customer></my-customer>

然后显示以下错误消息:

TypeError: Cannot read property 'length' of undefined

有人检查他们的指令是否被正确使用,如果是,是否有一种常见/推荐的方式来执行此错误处理或只是临时(如下所示)?

        link: function(scope) {
            if (scope.details) {
                for (var i = 0; i < scope.details.length; i++) {
                    // do stuff
                }
            } else {
                // error handling here
            }
        }

0 个答案:

没有答案