Go to file
Peter Bacon Darwin d86be245b8 fix(angular1-router): add support for using the component helper
In Angular 1.5 there is a new helper method for creating component directives.
See https://docs.angularjs.org/guide/component for more information about components.

These kind of directives only match the `E` element form and the previously component
router only created HTML that matched directives that matched the `A` attribute form.

This commit changes the `<ng-outlet>` directive so that it generates custom HTML
elements rather divs with custom attributes to trigger the relevant component to
appear in the DOM.

Going forward, Angular 1.5 users are encouraged to create their router components
using the following style:

```
myModule.componnet('component-name', {
  // component definition object
});
```

Closes angular/angular.js#13860
Closes #6076
Closes #5278

BREAKING CHANGE:

The component router now creates custom element HTML rather than custom attribute
HTML, in order to create a new component. So rather than

```html
<div custom-component></div>
```

it now creates

```html
<custom-component></custom-component>
```

If you defined you router components using the `directive()` helper and
specified the `restrict` properties such that element matching was not allowed,
e.g. `restrict: 'A'` then these components will no longer be instantiated
by the component router and the outlet will be empty.

The fix is to include `E` in the `restrict` property.

`restrict: 'EA'`

Note that this does not affect directives that did not specify the `restrict`
property as the default for this property is already `EA`.
2016-02-08 16:18:13 -08:00
modules fix(angular1-router): add support for using the component helper 2016-02-08 16:18:13 -08:00
modules_dart revert: feat(transformers): collect information about di dependencies and providers 2016-02-08 12:15:03 -08:00
scripts fix(build): don't try to copy .d.ts files into the npm distro 2016-02-05 11:53:15 -08:00
tools revert: feat(transformers): collect information about di dependencies and providers 2016-02-08 12:15:03 -08:00
typing_spec fix(angular2): remove `angular2.ts` module 2015-12-11 14:21:33 -08:00
.bowerrc chore(dgeni): clean up legacy typings bundle creation 2015-10-29 21:19:59 +00:00
.clang-format feat(tooling): Add a .clang-format for automated JavaScript formatting. 2015-04-02 08:44:34 -07:00
.editorconfig chore(.editorconfig): include markdown config 2015-01-27 00:14:48 -08:00
.gitattributes chore: add .gitattributes with new lines config 2015-01-06 18:06:13 -08:00
.gitignore chore(analytics): Build hello_world, check constraints 2015-11-23 20:10:04 +00:00
.nvmrc build(node): upgrade to node 5.4.1 2016-01-22 03:25:34 +00:00
.travis.yml ci(dart): comment out dart.dev build 2016-02-01 12:53:27 -08:00
CHANGELOG.md docs(changelog): add missing breaking change for beta.3 2016-02-03 11:43:17 -08:00
COMMITTER.md chore(docs): update the merge process docs 2015-12-23 02:32:02 +00:00
CONTRIBUTING.md docs(contributing.md): add docs for "ci" commit type/scope 2016-01-26 14:55:42 -08:00
DEVELOPER.md docs(developer): add linting instructions 2016-02-02 11:34:00 -08:00
LICENSE Update change from Apache to MIT license 2016-01-08 13:41:58 -08:00
NAMING.md refactor(ngProbe): rename to ng.probe 2015-08-31 21:32:10 +00:00
README.md Update README.md 2015-12-15 12:38:48 -08:00
TOOLS.md feat(docs): document change detection profiler 2015-09-04 16:38:53 -07:00
TOOLS_DART.md fix(docs): fix an import in TOOLS_DART.md 2015-12-17 23:30:44 +00:00
TOOLS_JS.md docs(tools): fix import statement in the example 2015-12-04 18:14:05 +00:00
TRIAGE_AND_LABELS.md chore(docs): explain the process for merging changes to master 2015-08-11 21:28:46 +00:00
bower.json fix(benchmarks): update react and polymer benchmarks and get tree update numbers for all of the benchmarks as well. 2015-10-28 13:17:01 -07:00
browser-providers.conf.js build(sauce/bs): make some browsers required in CI 2016-01-04 22:30:48 +00:00
circle.yml fix(circle): pre-dependencies `npm install npm` 2016-02-01 11:26:25 -08:00
gulpfile.js fix(typings): Don't expose typing dependencies to users. 2016-02-04 22:42:40 +00:00
karma-dart-evalcache.js fix(karma-dart-evalcache): make the code compatible with karma 0.13.x 2015-10-03 21:33:57 +00:00
karma-dart.conf.js build(browserstack): initial setup 2015-11-01 23:22:40 +01:00
karma-js.conf.js build(sauce/bs): make some browsers required in CI 2016-01-04 22:30:48 +00:00
npm-shrinkwrap.clean.json fix(angular1-router): add support for using the component helper 2016-02-08 16:18:13 -08:00
npm-shrinkwrap.json fix(angular1-router): add support for using the component helper 2016-02-08 16:18:13 -08:00
npm-shrinkwrap.readme.md build(npm): add tools/npm/reshrinkwrap script and update docs 2016-01-22 03:25:33 +00:00
package.json fix(angular1-router): add support for using the component helper 2016-02-08 16:18:13 -08:00
perf-cloud-secret.template.js refactor(build): support multiple configurable browsers for e2e and perf tests 2015-01-20 13:06:37 -08:00
protractor-dart2js.conf.js chore: rename modules/examples to modules/playground 2015-10-18 11:48:43 +00:00
protractor-js-dev.conf.js chore(test): setup a gulp task for quickly running e2e tests against the dev server 2015-06-11 16:58:32 -07:00
protractor-js-prod.conf.js chore(build): add a task to watch and render examples and e2e tests for production 2015-06-19 18:57:41 -04:00
protractor-js.conf.js Revert "chore(benchmarks): disable broken benchmarks" 2015-08-21 05:59:53 +00:00
protractor-shared.js fix(benchmarks): fix tracing categories to work with Dartium 2015-11-10 15:38:40 -08:00
pubspec.yaml refactor(compiler): make all commands const 2015-11-09 10:59:08 -08:00
test-init.dart feat(test): allow tests to specify the platform and application providers used 2016-01-13 02:11:06 +00:00
test-main.dart refactor(test): rename test_lib to testing 2015-10-13 10:36:49 -07:00
test-main.js feat(test): allow tests to specify the platform and application providers used 2016-01-13 02:11:06 +00:00
tsconfig.json tools: updated the VS Code config 2015-07-07 08:17:58 -07:00

README.md

Build Status Join the chat at https://gitter.im/angular/angular Issue Stats Issue Stats npm version Downloads Sauce Test Status

Angular

Angular is a development platform for building mobile and desktop web applications. This is the repository for Angular 2, both the JavaScript (JS) and Dart versions.

Angular 2 is currently in Beta.

Quickstart

Get started in 5 minutes.

Want to help?

Want to file a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing and then check out one of our issues in the hotlist: community-help.