# How does persistence works on custom property views?

**URL:** <https://forum.inductiveautomation.com/t/how-does-persistence-works-on-custom-property-views/80013>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [October 4, 2023, 11:51am UTC](https://forum.inductiveautomation.com/t/how-does-persistence-works-on-custom-property-views/80013 "2023-10-04T11:51:37Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Pablo\_Fernandez\_Expo](https://avatars.discourse-cdn.com/v4/letter/p/c67d28/32.png) [@Pablo\_Fernandez\_Expo](https://forum.inductiveautomation.com/u/Pablo_Fernandez_Expo)\
**Post date:** [October 4, 2023, 11:51am UTC](https://forum.inductiveautomation.com/t/how-does-persistence-works-on-custom-property-views/80013/1 "2023-10-04T11:51:37Z")

</div>

I have a page that calls a view with a single parameter: wo\_id. This view is basically a series of embedded views that guides the operator trough 4-5 steps until a process is completed. Then it will exit this view (but we are still in the same page) and you can repeat the process for another instance of wo\_id.

![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/0/e/0e828497922e0e234a422fc7738a470c88e0348e.png)

But somehow, custom parameters that are defined as not persistent, starts with the last view instance value. So for example, n\_tab\_active should start at 0 always, but somehow it starts at its last instance value. I also tried to write it to 0 with onStartup view events, with and without delay. Nothing works.  
Any idea? Thanks!

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/c/9/c96174698ffcfdbe539f90fbfcfa048d8cd99bcc.png)

---

<div class="post-metadata">

**Author:** ![jlandwerlen](https://avatars.discourse-cdn.com/v4/letter/j/bc8723/32.png) [@jlandwerlen](https://forum.inductiveautomation.com/u/jlandwerlen)\
**Post date:** [October 4, 2023, 1:11pm UTC](https://forum.inductiveautomation.com/t/how-does-persistence-works-on-custom-property-views/80013/2 "2023-10-04T13:11:31Z")

</div>

Right click on `n_tab_active` and check `Persistent`. Then save the view. The will make that prop persistent.

> **[Persistent Properties Video at Inductive University](https://www.inductiveuniversity.com/videos/persistent-properties/8.1)**
>
> Learn what "persistent" component properties are in this lesson.

[https://docs.inductiveautomation.com/display/DOC81/Perspective+Component+Properties#PerspectiveComponentProperties-PersistentProperties](https://docs.inductiveautomation.com/display/DOC81/Perspective+Component+Properties#PerspectiveComponentProperties-PersistentProperties)

---

<div class="post-metadata">

**Author:** ![pascal.fragnoud](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pascal.fragnoud/32/24728_2.png) [@pascal.fragnoud](https://forum.inductiveautomation.com/u/pascal.fragnoud)\
**Post date:** [October 4, 2023, 2:27pm UTC](https://forum.inductiveautomation.com/t/how-does-persistence-works-on-custom-property-views/80013/3 "2023-10-04T14:27:02Z")

</div>

I'm not seeing this at all, with or without persistence.  
Actually, when not persistent, the property just stops existing, until something gives it a value.

Do you have something, somewhere, writing to this property ?  
Bi-directional binding on some component maybe ?

---

<div class="post-metadata">

**Author:** ![jlandwerlen](https://avatars.discourse-cdn.com/v4/letter/j/bc8723/32.png) [@jlandwerlen](https://forum.inductiveautomation.com/u/jlandwerlen)\
**Post date:** [October 4, 2023, 3:20pm UTC](https://forum.inductiveautomation.com/t/how-does-persistence-works-on-custom-property-views/80013/4 "2023-10-04T15:20:14Z")

</div>

Great point, if the property isn't bound to anything and isn't set for persistent, it will not be visible. I think it still exists though, as far as I know, it just stops displaying itself.

---

<div class="post-metadata">

**Author:** ![pascal.fragnoud](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pascal.fragnoud/32/24728_2.png) [@pascal.fragnoud](https://forum.inductiveautomation.com/u/pascal.fragnoud)\
**Post date:** [October 4, 2023, 3:22pm UTC](https://forum.inductiveautomation.com/t/how-does-persistence-works-on-custom-property-views/80013/5 "2023-10-04T15:22:30Z")

</div>

A binding to that non-persistent property will return `Bad_NotFound`, so it does appear to stop existing.  
Which I think would be the point of a non-persistent object - it doesn't persist. If nothing creates it... it doesn't exist.

---

<div class="post-metadata">

**Author:** ![jlandwerlen](https://avatars.discourse-cdn.com/v4/letter/j/bc8723/32.png) [@jlandwerlen](https://forum.inductiveautomation.com/u/jlandwerlen)\
**Post date:** [October 4, 2023, 3:27pm UTC](https://forum.inductiveautomation.com/t/how-does-persistence-works-on-custom-property-views/80013/6 "2023-10-04T15:27:28Z")

</div>

Create a view with just one custom prop. By default it should be set to persistent. If you remove persistent, close and reopen, the prop isn't visible, but if you look at the JSON it's still in the `propsConfig`. That's what I meant by it still exists.

---

<div class="post-metadata">

**Author:** ![pascal.fragnoud](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pascal.fragnoud/32/24728_2.png) [@pascal.fragnoud](https://forum.inductiveautomation.com/u/pascal.fragnoud)\
**Post date:** [October 4, 2023, 3:28pm UTC](https://forum.inductiveautomation.com/t/how-does-persistence-works-on-custom-property-views/80013/7 "2023-10-04T15:28:58Z")

</div>

I see... I guess it only exists in the view's definition, but is never actually created ? Something like that...

---

<div class="post-metadata">

**Author:** ![Pablo\_Fernandez\_Expo](https://avatars.discourse-cdn.com/v4/letter/p/c67d28/32.png) [@Pablo\_Fernandez\_Expo](https://forum.inductiveautomation.com/u/Pablo_Fernandez_Expo)\
**Post date:** [October 4, 2023, 3:39pm UTC](https://forum.inductiveautomation.com/t/how-does-persistence-works-on-custom-property-views/80013/8 "2023-10-04T15:39:15Z")

</div>

Its being used by embebed views to apply some CSS styling giving the effect of sliding pages. The value itself gets updated via message handler when clicking certain buttons, so no-bidirectional (at least pure bi-directional).

Maybe I formulate wrong the question now that you mention what persistence does. The problem im having is that this custom property saves value of the last instance instead of going to a default value

---

<div class="post-metadata">

**Author:** ![cmallonee](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cmallonee/32/6416_2.png) [@cmallonee](https://forum.inductiveautomation.com/u/cmallonee)\
**Post date:** [October 4, 2023, 4:32pm UTC](https://forum.inductiveautomation.com/t/how-does-persistence-works-on-custom-property-views/80013/9 "2023-10-04T16:32:37Z")

</div>

Where is this View being used? You mention it is embedded, but is that in a Docked View? A Popup?

---

<div class="post-metadata">

**Author:** ![Pablo\_Fernandez\_Expo](https://avatars.discourse-cdn.com/v4/letter/p/c67d28/32.png) [@Pablo\_Fernandez\_Expo](https://forum.inductiveautomation.com/u/Pablo_Fernandez_Expo)\
**Post date:** [October 5, 2023, 7:21am UTC](https://forum.inductiveautomation.com/t/how-does-persistence-works-on-custom-property-views/80013/10 "2023-10-05T07:21:04Z")

</div>

The hierarchy is as follows:

Page that calls View1 with parameters \> View1 with custom properties \> Embedded view2 that uses custom property as parameter input and refresh it via messaging when clicking.
