<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Core Concepts on AngularTS</title><link>https://angular-wave.github.io/angular.ts/docs/concepts/</link><description>Recent content in Core Concepts on AngularTS</description><generator>Hugo</generator><language>en</language><atom:link href="https://angular-wave.github.io/angular.ts/docs/concepts/index.xml" rel="self" type="application/rss+xml"/><item><title>Angular Runtime</title><link>https://angular-wave.github.io/angular.ts/docs/concepts/angular-runtime/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://angular-wave.github.io/angular.ts/docs/concepts/angular-runtime/</guid><description>&lt;p>&lt;code>Angular&lt;/code> is the runtime entry point for AngularTS. It owns module registration,
application bootstrap, injector creation, cached DOM helpers, and the
event-based invocation helpers exposed through &lt;code>window.angular&lt;/code>.&lt;/p>
&lt;p>Exact runtime contracts live in TypeDoc:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="../../../typedoc/classes/Angular.html">&lt;code>Angular&lt;/code>&lt;/a>&lt;/li>
&lt;li>&lt;a href="../../../typedoc/interfaces/AngularBootstrapConfig.html">&lt;code>AngularBootstrapConfig&lt;/code>&lt;/a>&lt;/li>
&lt;li>&lt;a href="../../../typedoc/classes/NgModule.html">&lt;code>NgModule&lt;/code>&lt;/a>&lt;/li>
&lt;li>&lt;a href="../../../typedoc/interfaces/InjectorService.html">&lt;code>InjectorService&lt;/code>&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="create-modules">Create Modules&lt;a class="td-heading-self-link" href="#create-modules" aria-label="Heading self-link">&lt;/a>&lt;/h2>
&lt;p>Use &lt;code>angular.module()&lt;/code> to create or retrieve modules. Passing a dependency array
creates a module; passing only the name retrieves one.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-typescript" data-lang="typescript">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#204a87;font-weight:bold">const&lt;/span> &lt;span style="color:#000">app&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> &lt;span style="color:#000">angular&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#000">module&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;myApp&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">,&lt;/span> &lt;span style="color:#000;font-weight:bold">[&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;ng&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">]);&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">app&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#000">service&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;UserService&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">,&lt;/span> &lt;span style="color:#000">UserService&lt;/span>&lt;span style="color:#000;font-weight:bold">);&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">app&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#000">config&lt;/span>&lt;span style="color:#000;font-weight:bold">((&lt;/span>&lt;span style="color:#000">$locationProvider&lt;/span>&lt;span style="color:#000;font-weight:bold">)&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&amp;gt;&lt;/span> &lt;span style="color:#000;font-weight:bold">{&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000">$locationProvider&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#000">hashPrefix&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;!&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">);&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000;font-weight:bold">});&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#204a87;font-weight:bold">const&lt;/span> &lt;span style="color:#000">existing&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> &lt;span style="color:#000">angular&lt;/span>&lt;span style="color:#000;font-weight:bold">.&lt;/span>&lt;span style="color:#000">module&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;myApp&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">);&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Calling &lt;code>angular.module(&amp;quot;name&amp;quot;)&lt;/code> without first creating that module throws the
same &lt;code>nomod&lt;/code> error as AngularJS.&lt;/p></description></item><item><title>Reactive change detection with ES6 Proxy scopes</title><link>https://angular-wave.github.io/angular.ts/docs/concepts/change-detection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://angular-wave.github.io/angular.ts/docs/concepts/change-detection/</guid><description>&lt;p>Change detection is how a framework decides when to update the DOM to reflect new data. AngularJS used a polling mechanism called the &lt;strong>digest cycle&lt;/strong> — every time something might have changed, AngularJS ran all registered watchers, compared old and new values, and repeated until nothing changed. AngularTS replaces this entirely with &lt;strong>ES6 Proxy-based reactive observation&lt;/strong>: the framework knows exactly which property changed, which bindings depend on it, and schedules only those bindings to re-evaluate.&lt;/p></description></item><item><title>Dependency injection and the AngularTS injector</title><link>https://angular-wave.github.io/angular.ts/docs/concepts/dependency-injection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://angular-wave.github.io/angular.ts/docs/concepts/dependency-injection/</guid><description>&lt;p>Dependency injection (DI) is the mechanism AngularTS uses to supply components with the services they need. Rather than constructing dependencies directly, you declare what you need by name and the &lt;strong>injector&lt;/strong> finds, instantiates, and delivers each dependency. This keeps components decoupled, composable, and straightforward to test in isolation.&lt;/p>
&lt;h2 id="how-the-injector-works">How the injector works&lt;a class="td-heading-self-link" href="#how-the-injector-works" aria-label="Heading self-link">&lt;/a>&lt;/h2>
&lt;p>When you call &lt;code>angular.bootstrap()&lt;/code> (or use the &lt;code>ng-app&lt;/code> directive), AngularTS calls &lt;code>createInjector()&lt;/code> with your list of modules. The injector builds two internal caches:&lt;/p></description></item><item><title>Modules: organizing your AngularTS application</title><link>https://angular-wave.github.io/angular.ts/docs/concepts/modules/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://angular-wave.github.io/angular.ts/docs/concepts/modules/</guid><description>&lt;p>Every AngularTS application is assembled from one or more &lt;strong>modules&lt;/strong>. A module is a named container that registers services, directives, controllers, filters, and configuration blocks. Modules do not execute any code themselves — they record recipes that the injector later uses to construct and wire together your application. This separation between declaration and instantiation is what makes AngularTS applications easy to test and compose.&lt;/p>
&lt;h2 id="creating-and-retrieving-modules">Creating and retrieving modules&lt;a class="td-heading-self-link" href="#creating-and-retrieving-modules" aria-label="Heading self-link">&lt;/a>&lt;/h2>
&lt;p>Use &lt;code>angular.module()&lt;/code> to both create and look up modules. The presence of the second argument — the &lt;code>requires&lt;/code> array — is what distinguishes creation from retrieval.&lt;/p></description></item><item><title>Scopes, data binding, and the scope hierarchy</title><link>https://angular-wave.github.io/angular.ts/docs/concepts/scopes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://angular-wave.github.io/angular.ts/docs/concepts/scopes/</guid><description>&lt;p>A &lt;strong>scope&lt;/strong> in AngularTS is the glue between the model and the view. It is a plain JavaScript object wrapped in an ES6 &lt;code>Proxy&lt;/code> so that property assignments automatically trigger DOM updates without any manual notification. Every controller, directive, and component operates against a scope, and those scopes are organized into a tree rooted at &lt;code>$rootScope&lt;/code>.&lt;/p>
&lt;h2 id="what-a-scope-actually-is">What a scope actually is&lt;a class="td-heading-self-link" href="#what-a-scope-actually-is" aria-label="Heading self-link">&lt;/a>&lt;/h2>
&lt;p>When you write &lt;code>$scope.count = 0&lt;/code> in a controller, AngularTS is not storing &lt;code>count&lt;/code> on a special object — it is storing it on an ordinary JavaScript object. The Proxy layer intercepts the &lt;code>set&lt;/code> trap and, whenever a watched property changes, schedules the affected binding listeners to re-evaluate on the next microtask.&lt;/p></description></item><item><title>Templates, interpolation, and expression parsing</title><link>https://angular-wave.github.io/angular.ts/docs/concepts/templates-interpolation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://angular-wave.github.io/angular.ts/docs/concepts/templates-interpolation/</guid><description>&lt;p>Templates in AngularTS are ordinary HTML files augmented with a handful of special syntax forms. The most fundamental is &lt;strong>interpolation&lt;/strong>: the &lt;code>{{ expression }}&lt;/code> delimiters that tell the template compiler to evaluate an expression against the current scope and render its result as text. The &lt;code>$interpolate&lt;/code> service handles this translation at compile time, and the reactive proxy system ensures the DOM re-renders whenever the underlying data changes.&lt;/p>
&lt;h2 id="interpolation-syntax">Interpolation syntax&lt;a class="td-heading-self-link" href="#interpolation-syntax" aria-label="Heading self-link">&lt;/a>&lt;/h2>
&lt;p>Place any valid AngularTS expression between &lt;code>{{&lt;/code> and &lt;code>}}&lt;/code> to render its current value:&lt;/p></description></item></channel></rss>