【发布时间】:2016-03-20 07:24:21
【问题描述】:
我在一个带有 [(ngModel)] 的简单 Angular 2 入门示例中使用纯 javascript 而不是 TypeScript,如下所示。它给了我例外:'' 没有值访问器。
<!doctype html>
<html>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.11/angular2-polyfills.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.11/Rx.umd.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.11/angular2-all.umd.min.js"></script>
<script>
(function(app) {
app.AppComponent = ng.core.Component({
selector: 'my-div',
template: '<h1>Hello {{obj.a}}</h1>' +
'<div><input type="text" [(ngModel)]="obj.a"/></div>',
}).Class({
constructor: function() {
this.obj = {a: "World"};
}
});
})(window.app || (window.app={}));
(function(app) {
document.addEventListener('DOMContentLoaded', function() {
ng.platform.browser.bootstrap(app.AppComponent);
});
})(window.app || (window.app={}));
</script>
<body>
<my-div></my-div>
</body>
</html>
错误是由 2.0.0-beta.1 到 2.0.0-beta.11 产生的。如果我使用原来的 2.0.0-beta.0,上面的代码运行没有错误。
我认为这是 Angular 2 最新版本的一个错误。我希望我错了,但任何功能更改都不应该破坏在 2.0.0-beta.0 中工作的东西。
这里是plnkr:https://plnkr.co/edit/CqSeXeBpXgfgJUvBQ4mP?p=preview
【问题讨论】:
-
那么为什么它适用于 2.0.0-beta.0 呢?证明给我看。你有 plnkr。
-
如前所述,我不了解 JS。我找到了其他例子,在 JS 中似乎没有必要。
-
@real 不要使用压缩包。自 beta.1 以来,缩小已被破坏。如果您将
angular2-all.umd.min.js更改为angular2-all.umd.dev.js工作正常。 -
谢谢埃里克。这样就解决了。
-
不客气。请记住,尽管必须在某个时候解决缩小问题,但很长一段时间以来都不是优先事项,并且可能会继续这样下去。
标签: angular