Issue 1:
Reporting a bug.

Using two way binding - with the ngModel directive - will work on the development - unminified - version of angular2; I expect the ngModel to work as well on the minified angular2, but it crashes and burns.

Working Minimal Example

Non Working Minimal Example

The difference between the two plunkers is the usage of .min.js instead of .dev.js for the Angular2 library.

Minified version and development versions should both work.

Angular version: 2.0.0-beta.8

Browser: [all ]

Language: [all]

The error - as reported by Chrome:

EXCEPTION: No value accessor for '' in [aSimpleString in AppComponent@2:8]t.logError @ angular2.min.js:17t.logGroup @ angular2.min.js:17e.call @ angular2.min.js:1(anonymous function) @ angular2.min.js:9e._notifyOnError @ angular2.min.js:10o.StringMapWrapper.merge.onError @ angular2.min.js:10Zone.run @ angular2-polyfills.js:1247(anonymous function) @ angular2.min.js:10zoneBoundFn @ angular2-polyfills.js:1220lib$es6$promise$$internal$$tryCatch @ angular2-polyfills.js:468lib$es6$promise$$internal$$invokeCallback @ angular2-polyfills.js:480lib$es6$promise$$internal$$publish @ angular2-polyfills.js:451(anonymous function) @ angular2-polyfills.js:123r @ angular2.min.js:10Zone.run @ angular2-polyfills.js:1243(anonymous function) @ angular2.min.js:10zoneBoundFn @ angular2-polyfills.js:1220lib$es6$promise$asap$$flush @ angular2-polyfills.js:262
angular2.min.js:17 ORIGINAL EXCEPTION: No value accessor for ''t.logError @ angular2.min.js:17e.call @ angular2.min.js:1(anonymous function) @ angular2.min.js:9e._notifyOnError @ angular2.min.js:10o.StringMapWrapper.merge.onError @ angular2.min.js:10Zone.run @ angular2-polyfills.js:1247(anonymous function) @ angular2.min.js:10zoneBoundFn @ angular2-polyfills.js:1220lib$es6$promise$$internal$$tryCatch @ angular2-polyfills.js:468lib$es6$promise$$internal$$invokeCallback @ angular2-polyfills.js:480lib$es6$promise$$internal$$publish @ angular2-polyfills.js:451(anonymous function) @ angular2-polyfills.js:123r @ angular2.min.js:10Zone.run @ angular2-polyfills.js:1243(anonymous function) @ angular2.min.js:10zoneBoundFn @ angular2-polyfills.js:1220lib$es6$promise$asap$$flush @ angular2-polyfills.js:262
angular2.min.js:17 ORIGINAL STACKTRACE:t.logError @ angular2.min.js:17e.call @ angular2.min.js:1(anonymous function) @ angular2.min.js:9e._notifyOnError @ angular2.min.js:10o.StringMapWrapper.merge.onError @ angular2.min.js:10Zone.run @ angular2-polyfills.js:1247(anonymous function) @ angular2.min.js:10zoneBoundFn @ angular2-polyfills.js:1220lib$es6$promise$$internal$$tryCatch @ angular2-polyfills.js:468lib$es6$promise$$internal$$invokeCallback @ angular2-polyfills.js:480lib$es6$promise$$internal$$publish @ angular2-polyfills.js:451(anonymous function) @ angular2-polyfills.js:123r @ angular2.min.js:10Zone.run @ angular2-polyfills.js:1243(anonymous function) @ angular2.min.js:10zoneBoundFn @ angular2-polyfills.js:1220lib$es6$promise$asap$$flush @ angular2-polyfills.js:262
angular2.min.js:17 Error: No value accessor for ''
at new t (angular2.min.js:5)
at a (angular2.min.js:15)
at Object.i [as setUpControl] (angular2.min.js:15)
at t.ngOnChanges (angular2.min.js:12)
at e.ChangeDetector_AppComponent_0.detectChangesInRecordsInternal (viewFactory_AppComponent:45)
at e.detectChangesInRecords (angular2.min.js:6)
at e.runDetectChanges (angular2.min.js:6)
at e._detectChangesInViewChildren (angular2.min.js:6)
at e.runDetectChanges (angular2.min.js:6)
at e.detectChanges (angular2.min.js:6)t.logError @ angular2.min.js:17e.call @ angular2.min.js:1(anonymous function) @ angular2.min.js:9e._notifyOnError @ angular2.min.js:10o.StringMapWrapper.merge.onError @ angular2.min.js:10Zone.run @ angular2-polyfills.js:1247(anonymous function) @ angular2.min.js:10zoneBoundFn @ angular2-polyfills.js:1220lib$es6$promise$$internal$$tryCatch @ angular2-polyfills.js:468lib$es6$promise$$internal$$invokeCallback @ angular2-polyfills.js:480lib$es6$promise$$internal$$publish @ angular2-polyfills.js:451(anonymous function) @ angular2-polyfills.js:123r @ angular2.min.js:10Zone.run @ angular2-polyfills.js:1243(anonymous function) @ angular2.min.js:10zoneBoundFn @ angular2-polyfills.js:1220lib$es6$promise$asap$$flush @ angular2-polyfills.js:262
angular2.min.js:17 ERROR CONTEXT:t.logError @ angular2.min.js:17e.call @ angular2.min.js:1(anonymous function) @ angular2.min.js:9e._notifyOnError @ angular2.min.js:10o.StringMapWrapper.merge.onError @ angular2.min.js:10Zone.run @ angular2-polyfills.js:1247(anonymous function) @ angular2.min.js:10zoneBoundFn @ angular2-polyfills.js:1220lib$es6$promise$$internal$$tryCatch @ angular2-polyfills.js:468lib$es6$promise$$internal$$invokeCallback @ angular2-polyfills.js:480lib$es6$promise$$internal$$publish @ angular2-polyfills.js:451(anonymous function) @ angular2-polyfills.js:123r @ angular2.min.js:10Zone.run @ angular2-polyfills.js:1243(anonymous function) @ angular2.min.js:10zoneBoundFn @ angular2-polyfills.js:1220lib$es6$promise$asap$$flush @ angular2-polyfills.js:262
angular2.min.js:17 e {element: input, componentElement: my-app, context: AppComponent, locals: Object, injector: e…}componentElement: my-appcontext: AppComponentelement: inputexpression: "aSimpleString in AppComponent@2:8"injector: elocals: Object__proto__: et.logError @ angular2.min.js:17e.call @ angular2.min.js:1(anonymous function) @ angular2.min.js:9e._notifyOnError @ angular2.min.js:10o.StringMapWrapper.merge.onError @ angular2.min.js:10Zone.run @ angular2-polyfills.js:1247(anonymous function) @ angular2.min.js:10zoneBoundFn @ angular2-polyfills.js:1220lib$es6$promise$$internal$$tryCatch @ angular2-polyfills.js:468lib$es6$promise$$internal$$invokeCallback @ angular2-polyfills.js:480lib$es6$promise$$internal$$publish @ angular2-polyfills.js:451(anonymous function) @ angular2-polyfills.js:123r @ angular2.min.js:10Zone.run @ angular2-polyfills.js:1243(anonymous function) @ angular2.min.js:10zoneBoundFn @ angular2-polyfills.js:1220lib$es6$promise$asap$$flush @ angular2-polyfills.js:262

Issue 2:
When using minified bundles with SystemJS, and a simple snippet like this

<template ngFor #item [ngForOf]="items" #i="index">
<li>{{i}}</li>
<li *ngIf="i % 2 == 0">number is even</li>
</template>

Will throw

TypeError: this.directive_0_0.ngDoCheck is not a function

This is only reproducible with minified bundles, non-minified work correctly.

As an example check this plnkr (took it from #6304 (comment)). To reproduce switch between minified and unminified bundles.

This is also reproducible with Webpack using this line in the config

plugins : [
new webpack.optimize.UglifyJsPlugin()
],

Am I missing something?