Ad
Can't Modify Public Variable Inside Value Event Listener Angular Firebase Database
I am trying to set a variable I have declared as public inside my class inside of a value event listener in firebase. Although, I am receiving the error
Uncaught TypeError: Cannot read property 'driverAssigned' of null.
How do I set a public variable inside this firebase listener?
I have already tried making a callback function within the class to set my variable, but the error is the same.
export class InRideComponent implements OnInit {
public driverAssigned: boolean;
constructor(
private fireb: AngularFireDatabase
) {
const driverRef_str = "/queue/user";
this.fireb.database.ref(driverRef_str).on('value', function(snapshot) {
if (snapshot.val() !== null) {
console.log("A driver has been assigned!");
this.driverAssigned = true;
}
})
}
}
Ad
Answer
This is more of Javascript/Typescript context issue:
Although, i didn't checked this but you may want to try below:
this.fireb.database.ref(driverRef_str).on('value', function(snapshot) {
if (snapshot.val() !== null) {
console.log("A driver has been assigned!");
this.driverAssigned = true;
}
}.bind(this));
Let me know, if it doesn't work:)
Ad
source: stackoverflow.com
Related Questions
- → How to update data attribute on Ajax complete
- → October CMS - Radio Button Ajax Click Twice in a Row Causes Content to disappear
- → Octobercms Component Unique id (Twig & Javascript)
- → Passing a JS var from AJAX response to Twig
- → Laravel {!! Form::open() !!} doesn't work within AngularJS
- → DropzoneJS & Laravel - Output form validation errors
- → Import statement and Babel
- → Uncaught TypeError: Cannot read property '__SECRET_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED' of undefined
- → React-router: Passing props to children
- → ListView.DataSource looping data for React Native
- → Can't test submit handler in React component
- → React + Flux - How to avoid global variable
- → Webpack, React & Babel, not rendering DOM
Ad