ngView: (string | (($view: any, $animate: any, $ngViewScroll: any, $interpolate: any, $q: any) => {
compile: ((tElement: any, tAttrs: any, $transclude: any) => ((scope: any, $element: any, attrs: any) => void));
count: number;
priority: number;
restrict: string;
terminal: boolean;
transclude: string;
}))[] = ...
ui-view
: A viewport directive which is filled in by a view from the active state.Attributes
name
: (Optional) A view name. The name should be unique amongst the other views in the same state. You can have views of the same name that live in different states. The ui-view can be targeted in a View using the name ([[Ng1StateDeclaration.views]]).autoscroll
: an expression. When it evaluates to true, theui-view
will be scrolled into view when it is activated. Uses [[$ngViewScroll]] to do the scrolling.onload
: Expression to evaluate whenever the view updates.Example:
A view can be unnamed or named.
You can only have one unnamed view within any template (or root html). If you are only using a single view and it is unnamed then you can populate it like so:
The above is a convenient shortcut equivalent to specifying your view explicitly with the [[Ng1StateDeclaration.views]] config property, by name, in this case an empty name:
But typically you'll only use the views property if you name your view or have more than one view in the same template. There's not really a compelling reason to name a view if its the only one, but you could if you wanted, like so:
Really though, you'll use views to set up multiple views:
Examples for
autoscroll
:Resolve data:
The resolved data from the state's
resolve
block is placed on the scope as$resolve
(this can be customized using [[Ng1ViewDeclaration.resolveAs]]). This can be then accessed from the template.Note that when
controllerAs
is being used,$resolve
is set on the controller instance after the controller is instantiated. The$onInit()
hook can be used to perform initialization code which depends on$resolve
data.Example: