> I changed it in all tempaltes, home at the bottom, the rest only where it said this, changed it to scope. Am still seeing a lot of errors in f12, sope.$watch not a function, scope.$on not a function, scope.renderDashboard is not a function. What could be causing this? Please use the least amount of tokens as possible, Ill do all the work, just help me figure out whats going on ● The issue: You might have changed the parameter name instead of what's being passed. Check this pattern: (function(scope) { // ← parameter name // code })(scope); // ← what's passed to it For LOCAL templates (like Home): - Both should be scope: (function(scope) { ... })(scope); For GLOBAL templates: - Parameter is scope, but pass this: (function(scope) { ... })(this); --- Quick check: Look at the very end of Home Template's If you changed the parameter name to something else, change it back to scope. The key: Local templates pass scope, Global templates pass this.