lib/packages/core-classes.js
function(view, property_name, assign_config) {

		this.guid = Lava.guid++;
		this._view = view;
		this._property_name = property_name;

		if (assign_config) {

			this._assign_argument = new Lava.scope.Argument(assign_config, view, view.getWidget());
			this._assign_argument.on('changed', this.onAssignChanged, this);
			this._value = this._assign_argument.getValue();
			view.set(this._property_name, this._value);
			this.level = this._assign_argument.level + 1;

		} else {

			// this is needed to order implicit inheritance
			// (in custom widget property setters logic and in view.Foreach, while refreshing children).
			// Zero was added to simplify examples from site documentation - it's not needed by framework
			this.level = view.depth || 0;

			this._value = view.get(this._property_name);
			this._property_changed_listener = view.onPropertyChanged(property_name, this.onContainerPropertyChanged, this);

		}

		Lava.schema.DEBUG && Lava.ScopeManager.debugTrackScope(this);

	}
function(view, property_name, assign_config) {

		this.guid = Lava.guid++;
		this._view = view;
		this._property_name = property_name;

		if (assign_config) {

			this._assign_argument = new Lava.scope.Argument(assign_config, view, view.getWidget());
			this._assign_argument.on('changed', this.onAssignChanged, this);
			this._value = this._assign_argument.getValue();
			view.set(this._property_name, this._value);
			this.level = this._assign_argument.level + 1;

		} else {

			// this is needed to order implicit inheritance
			// (in custom widget property setters logic and in view.Foreach, while refreshing children).
			// Zero was added to simplify examples from site documentation - it's not needed by framework
			this.level = view.depth || 0;

			this._value = view.get(this._property_name);
			this._property_changed_listener = view.onPropertyChanged(property_name, this.onContainerPropertyChanged, this);

		}

		Lava.schema.DEBUG && Lava.ScopeManager.debugTrackScope(this);

	}
function ( view , property_name , assign_config ) { this . guid = Lava . guid ++ ; this . _view = view ; this . _property_name = property_name ; if ( assign_config ) { this . _assign_argument = new Lava . scope . Argument ( assign_config , view , view . getWidget ( ) ) ; this . _assign_argument . on ( 'changed' , this . onAssignChanged , this ) ; this . _value = this . _assign_argument . getValue ( ) ; view . set ( this . _property_name , this . _value ) ; this . level = this . _assign_argument . level + 1 ; } else { // this is needed to order implicit inheritance // (in custom widget property setters logic and in view.Foreach, while refreshing children). // Zero was added to simplify examples from site documentation - it's not needed by framework this . level = view . depth || 0 ; this . _value = view . get ( this . _property_name ) ; this . _property_changed_listener = view . onPropertyChanged ( property_name , this . onContainerPropertyChanged , this ) ; } Lava . schema . DEBUG && Lava . ScopeManager . debugTrackScope ( this ) ; }
Create the PropertyBinding instance. Refresh value from view's property or set value from assign
@param {Lava.view.Abstract} view Scope's owner view, to which it's bound
@param {string} property_name
@param {_cAssign} assign_config Config for the Argument, in case this scope is created in "assign" mode
Create the PropertyBinding instance . Refresh value from view s property or set value from assign