PTC Arbortext Content Delivery Customization > Customizing System Integrations > AngularJS Changes in PTC Arbortext Content Delivery
AngularJS Changes in PTC Arbortext Content Delivery
PTC Arbortext Content Delivery has moved to a newer version of AngularJS. Please review the AngularJS migration guide to make sure there are no compatibility issues. You can access the relevant documentation at: https://docs.angularjs.org/guide/migration#migrating-from-1-2-to-1-3
As part of this change all references to bindonce have been removed.
Changes
Angular 1.3 now supports one-time binding. We have removed the third party bindonce library from PTC Arbortext Content Delivery and have switched to the new Angular syntax. The new syntax uses the existing ng directives but is prefixed to indicate that it is one-time binding.
data-bo-if=”isVisible && items.length > 0” becomes data-ng-if=”::isVisible && items.length > 0”
If an expression is prefixed with :: then the entire expression uses one-time binding. There is no way to use partial one-time binding in an expression.
Angular resolves any non-empty string to be truthy, make sure to compare strings to their literal value.
data-ng-if=”::item.hasName === ‘true’”
When using one-time binding with ngRepeat or ptcRepeat use the following syntax:
data-ng-repeat=”item in ::items”
data-ptc-repeat=”item in ::items”
There is no ngText directive, instead use ngBind.
data-ng-bind=”::item.displayName”
References
You can access Angular’s one-time binding guide at: https://docs.angularjs.org/guide/expression#one-time-binding
If you wish to continue using the third party bindonce library you need to include it on your own. Download version 0.3.3 or newer from github at: https://github.com/Pasvaz/bindonce
If you choose to keep using the third party bindonce library you will need to load it yourself. See Adding Custom JavaScript Files for more information.