I am experiencing the same issue with a Dropdown. I upgraded to v2016.1.226 of Kendo and Angular v1.5 and started getting this error when navigating away from a page. The destroy method was getting called twice for the dropdown. The first time works and the second time gets the JavaScript error.
TypeError: [LR Error] Cannot read property 'off' of null
at Select.extend.destroy (https://localhost:44305/[MYAPP]/Scripts/vendor.js:69806:28)
at https://localhost:44305/[MYAPP]/Scripts/vendor.js:158768:32
at Scope.$broadcast (https://localhost:44305/[MYAPP]/Scripts/vendor.js:26975:28)
at Scope.$destroy (https://localhost:44305/[MYAPP]/Scripts/vendor.js:26593:14)
at cleanupLastView (https://localhost:44305/[MYAPP]/Scripts/vendor.js:204426:26)
at https://localhost:44305/[MYAPP]/Scripts/vendor.js:204459:15
at publicLinkFn (https://localhost:44305/[MYAPP]/Scripts/vendor.js:17937:29)
at https://localhost:44305/[MYAPP]/Scripts/vendor.js:18279:29
at boundTranscludeFn (https://localhost:44305/[MYAPP]/Scripts/vendor.js:18076:16)
at controllersBoundTransclude (https://localhost:44305/[MYAPP]/Scripts/vendor.js:18852:20)
This method was getting called to destroy:
function destroyWidgetOnScopeDestroy(scope, widget) {
var deregister = scope.$on('$destroy', function () {
deregister();
if (widget) {
if (widget.element) {
widget.destroy(); <<<<<<<<<<<
}
widget = null;
}
});
return deregister;
}
And was failing at this spot:
destroy: function () {
var that = this;
Select.fn.destroy.call(that);
that.wrapper.off(ns);
that.element.off(ns);
that._inputWrapper.off(ns);
that._arrow.off(); <<<<<<<<<<<<<<<<<<<<<<<<<
that._arrow = null;
that.optionLabel.off();
},