I'm new to MEAN stack applications so I'm asking for help.
Everytime AngularJS tries to parse the following code
<button type="button" class="btn btn-link pull-right" ng-click="delete({{ post._id }});"><span class="glyphicon glyphicon-trash"></span></button>
Displays in the console the following error:
Error: [$parse:syntax] http://errors.angularjs.org/1.4.3/$parse/syntax?p0=%7B&p1=invalid%20key&p2=9&p3=delete(%7B%7B%20post._id%20%7D%7D)%3B&p4=%7B%20post._id%20%7D%7D)%3B
at Error (native) https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.js:12330
at https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js:6:416
at Object.q.throwError (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js:209:32)
at Object.q.object (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js:208:327)
at Object.q.primary (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js:205:335)
at Object.q.unary (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js:205:174)
at Object.q.multiplicative (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js:204:434)
at Object.q.additive (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js:204:261)
at Object.q.relational (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js:204:96)
at Object.q.equality (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js:203:425) <button type="button" class="btn btn-link pull-right" ng-click="delete({{ post._id }});">
But when I inspect the delete button I can find this:
<button type="button" class="btn btn-link pull-right" ng-click="delete(55ba1c2d6411b92c1715490c);"><span class="glyphicon glyphicon-trash"></span></button>
Could some one help me to fix this problem?
Remove the{{ }} from the ng-click attribute, it is not required in this case:
ng-click="delete(post._id);"
Why?
https://docs.angularjs.org/api/ng/directive/ngClick
The ng-click directive accepts an expression which is evaluated on click.
Related
I am using protractor locator below and
element(by.css('.config1100 .btn btn-default btn-lg')).click();
getting following error
NoSuchElementError: No element found using locator: By.cssSelector(".config1100 .btn btn-default btn-lg")
html is templateURL of anuglar-ui view
<div class="row">
<div class="config1100" ng-include="'../data/config1100.html'"></div>
<p>
<button type="button" class="btn btn-default btn-lg" ng-click="save()">Save</button>
</p>
</div>
Might be simpler to use by.buttonText
element(by.buttonText('Save')).click();
http://www.protractortest.org/#/api?view=ProtractorBy.prototype.buttonText
If you have more than one button with that text, grab the collection with element.all and figure out which one you need.
You were missing a dot, so using the dollar shortcut notation:
$('.config1100 .btn .btn-default .btn-lg')).click();
Here is the code
<button type="button" class="btn btn-default btn-sm pull-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"></i></button>
I have to click on arrow button 3 times using ng-click or class.
Pleas help me
Since, you have mentioned that's hidden element and Selenium does not interact with hidden element the only option you have is javascript. I would try the following and see if that does the work:
driver.execute_script("document.querySelector(\"[ng-click='move(1)']\").click();")
Or:
button = driver.find_element_by_css_selector("button[ng-click*=move]")
driver.execute_script("arguments[0].click();", button)
I'm using official angular bootstrap directives .
I want to use of of it's popovers .
In the documentation it says that if you want to insert html inside the popover you should use popover-html, like bellow :
<button popover-html="{{getTag()}}" type="button" class="btn btn-default">Dynamic Popover</button>
<button popover-html="<a>Just fucin show me !</a>" type="button" class="btn btn-default">Click me </button>
But this will raise the following console error :
Error: [$parse:syntax] Syntax Error: Token '<' not a primary expression at column 1 of the expression [sdfsdfsdf] starting at [sdfsdfsdf].
http://errors.angularjs.org/1.4.3/$parse/syntax?p0=%3C&p1=not%20a%20primary%20expression&p2=1&p3=%3Ca%3Esdfsdfsdf%3C%2Fa%3E&p4=%3Ca%3Esdfsdfsdf%3C%2Fa%3E
You can see the plunker
Thanks
Just remove the brackets and the $compile function:
HTML:
<button popover-html="getTag()" type="button" class="btn btn-default">Dynamic Popover</button>
JS:
$scope.getTag = function(){
return '<a>sdfsdfsdf</a>';
}
I have two buttons that are both wired to ng-click event, but with different parameters.
<button type="button" class="btn btn-default btn-large btn-block"
ng-click="makePick({{item.EventId}}, {{eventSchedule.MemberId}},
{{item.HomeId}})">
<button type="button" class="btn btn-default btn-large btn-block"
ng-click="makePick({{item.EventId}}, {{eventSchedule.MemberId}},
{{item.AwayId}})">
And both are calling the same method:
$scope.makePick = function (eventId, memberId, teamWinSelId) { //... };
When I kick up the project in my browser, I get the following error:
Syntax Error: Token 'item.EventId' is at column {2} of the expression [{3}] starting at [{4}].
Not sure whats going on, is it a matter of having the same method call on two different buttons? Not too sure whats going wrong. I'd appreciate some guidance.
When using ng-click you omit the {{}} for view variables, they're already being processed within the directive:
<button type="button" class="btn btn-default btn-large btn-block" ng-click="makePick(item.EventId, eventSchedule.MemberId, item.HomeId)">
<button type="button" class="btn btn-default btn-large btn-block" ng-click="makePick(item.EventId, eventSchedule.MemberId, item.AwayId)">
you dont need to use curly braces in params, since ng-click processes itself this for you. curly braces are not required for any of ng prefix directive
for example
ng-click="makePick(item.EventId,eventSchedule.MemberId,
item.AwayId)
I'm unable to upload files because of the following error at jquery.fileupload-image.js:268
Uncaught TypeError: Cannot read property 'parseMetaData' of undefined
I'm including the following files:
ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.js
ajax.googleapis.com/ajax/libs/jqueryui/1.11.1/jquery-ui.js
ajax.googleapis.com/ajax/libs/angularjs/1.2.22/angular.js
maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.js
cdnjs.cloudflare.com/ajax/libs/blueimp-file-upload/9.5.7/jquery.iframe-transport.js
cdnjs.cloudflare.com/ajax/libs/blueimp-file-upload/9.5.7/jquery.fileupload.js
cdnjs.cloudflare.com/ajax/libs/blueimp-file-upload/9.5.7/jquery.fileupload-process.js
cdnjs.cloudflare.com/ajax/libs/blueimp-file-upload/9.5.7/jquery.fileupload-image.js
cdnjs.cloudflare.com/ajax/libs/blueimp-file-upload/9.5.7/jquery.fileupload-audio.js
cdnjs.cloudflare.com/ajax/libs/blueimp-file-upload/9.5.7/jquery.fileupload-video.js
cdnjs.cloudflare.com/ajax/libs/blueimp-file-upload/9.5.7/jquery.fileupload-validate.js
cdnjs.cloudflare.com/ajax/libs/blueimp-file-upload/9.5.7/jquery.fileupload-angular.js
Here is my HTML:
<form data-file-upload="options">
<span class="btn btn-success fileinput-button">
<span>Add files...</span>
<input type="file">
</span>
<button type="button" class="btn btn-primary start" data-ng-click="submit()">
<span>Start upload</span>
</button>
</form>
And here's my Angular:
$scope.options =
url: 'some.endpoint'
I just had the same error.
The link to the file Javascript-Load-Image/js/load-image.min.js has changed on github and is know : Javascript-Load-Image/js/load-image.all.min.js
By changing that it worked with me. :)
Thoma
I had this problem too. Please note that load-image.all.min.js needs to be included before the jquery.fileupload-image.js.
That was the problem here.