When use 'require', recommend to add some error check, for example:html
class ChildCtrl { constructor(){ // Get prop from parent ctrl if(this.parentCtrl){ this.childProp = this.parentCtrl.prop; } } } app.directive('someDirective', () => { return { require: { 'parentCtrl': '?^^' }, controller: ChildCtrl, controllerAs: 'vm', bindToController: true, scope: {}, template: require('./child.tpl.html') } })
We add a if() to check whether this is parent controller, if it is then we continue do something, if not, just ignore. This can prevent if there is no parent controller, we won't get undefined errorapp