3

angular 2 rc2シードプロジェクトでng2-bootstrapラジオボタンを使用しようとしています。次のコードは、angular 2 rc1 プロジェクトで問題なく動作します。現在、ベースとして使用してシード プロジェクトを作成しようとしてhttps://github.com/mgechev/angular2-seedいますが、適切に作成できません。

次の方法で ng2-bootstrap radio-buttons ディレクティブを使用します。

<div class="btn btn-primary" [(ngModel)]="mode" btnRadio="EDITOR" uncheckable> 
     Editor 
</div>

ng2-bootstrap と moment ライブラリをseed.config.tsに含めます。私は多くの変種を試しました(また、ng2-bootstrap/ng2-bootstrapなども)

paths: {
  ...
  'ng2-bootstrap': `${this.NPM_BASE}/ng2-bootstrap/`,
  'moment': `${this.NPM_BASE}moment/`
},
packages: {
    ...
    'ng2-bootstrap': { main: "ng2-bootstrap.js", defaultExtension: 'js' },
    'moment': { main: "moment.js", defaultExtension: 'js' },
}

次のディレクティブをインポートします

import { BUTTON_DIRECTIVES } from 'ng2-bootstrap/ng2-bootstrap';
import { ButtonRadioDirective } from 'ng2-bootstrap/ng2-bootstrap';

そして、これを私のコンポーネントで使用します

@Component({
  moduleId: module.id,
  selector: "editor",
  templateUrl: "editor.html",
  directives: [FORM_DIRECTIVES, CORE_DIRECTIVES, BUTTON_DIRECTIVES, 
  CodeMirrorComponent, ButtonRadioDirective]
})

問題なくプロジェクトをビルドしますが、サーバーを実行すると、次の実行時例外が発生します。

ORIGINAL EXCEPTION: No value accessor for ''

ここで ngModel への双方向バインディングが壊れていると確信しています。このコードを rc1 バンドルとシード プロジェクトなしで使用しました。今、何が問題になるのかわかりません-新しいAngularバージョン、またはビルドシステムの使用(私の場合-gulp)。

誰でもアドバイスをいただければ幸いです。よろしくお願いします。

2016 年 6 月 21 日以降に編集

使用するパッケージのバージョンは次のとおりです。

"dependencies": {
  "@angular/common": "2.0.0-rc.2",
  "@angular/compiler": "2.0.0-rc.2",
  "@angular/core": "2.0.0-rc.2",
  "@angular/forms": "^0.1.0",
  "@angular/platform-browser": "2.0.0-rc.2",
  "@angular/platform-browser-dynamic": "2.0.0-rc.2",
  "@angular/router": "3.0.0-alpha.6",
  "es6-module-loader": "^0.17.8",
  "core-js": "^2.4.0",
  "rxjs": "5.0.0-beta.6",
  "systemjs": "0.19.26",
  "zone.js": "^0.6.12",
  "bootstrap": "^3.3.6",
  "ng2-bootstrap": "^1.0.17"
}
4

2 に答える 2

1

以下が機能するはずです。

輸入

import {AlertComponent} from 'ng2-bootstrap/ng2-bootstrap';

'ng2-bootstrap': `${this.NPM_BASE}ng2-bootstrap/bundles/ng2-bootstrap.js`,
'moment/*': `${this.NPM_BASE}moment/*`,

パッケージ

'ng2-bootstrap': {defaultExtension: 'js'},
moment: { main: 'moment.js', defaultExtension: 'js' }
于 2016-06-21T11:23:55.170 に答える