When use ‘require‘, recommend to add some error check, for example:
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 error
[AngularJS] 'require' prop in Directive or Component
时间: 2024-10-26 21:13:39