Reputation: 5929
Creating a template, I have some Angular code within some HTML elements:
<button id="btnMainMenu" class="button button-icon fa fa-chevron-left header-icon"
ng-if="(!CoursesVm.showcheckboxes || (CoursesVm.tabSelected == 'current') )"
...
I want to debug the ng-if condition to check the values of my CoursesVm object. How would I do this in Chrome for example?
Upvotes: 37
Views: 34758
Reputation: 51
template:
<my-a [prop]="log(a)"></my-a>
controller:
log(o: any) {
console.log(o);
return o;
}
it may be wrapped as pipe that logs and return same
<my-a [prop]="a | log"></my-a>
Upvotes: 1
Reputation: 14958
Option 1: Modify your code (For Angular2+ and AngularJS)
Angular2+
...in the component add this temporal function
checkIf(value: any){
debugger; //open the devtools and go to the view...code execution will stop here!
//..code to be checked... `value` can be inspected now along with all of the other component attributes
}
... in the view: add an *ngIf
with the created function providing the value you want to debug
<button *ngIf="checkIf(CoursesVm)">Button</button>
AngularJS
You can enclose the code inside the ng-if
((!CoursesVm.showcheckboxes || (CoursesVm.tabSelected == 'current') )
) inside a controller function and then debug that function.
Something like this:
//...controller
function checkIf(){
debugger; //open the devtools and go to the view...code execution will stop here!
//..code to be checked
}
<!--view supposing myCtrl is the alias for the controller here-->
<button id="btnMainMenu" class="button button-icon fa fa-chevron-left header-icon"
ng-if="myCtrl.checkIf()"
<!-- ... -->
Option 2: Directly in chrome devtools (For AngularJS (Known to some people as Angular 1))
Capture the scope like this:
var scope = angular.element(document.getElementById('#btnMainMenu')).scope();
Access to the object like this (supposing the controller of this view is myCtrl
):
scope.myCtrl.CoursesVm
Upvotes: 11
Reputation: 1834
For people looking for Angular (2+), use json pipe
for eg:
<span>{{ CoursesVm | json }}</span>
<textarea>{{ CoursesVm | json }}</textarea>
Upvotes: 49