1

私のコードを機能させる方法を知っている人はいますか。ユーザー作成ダイアログを作成しようとしていて、ngResource を使用して投稿データを送信したいのですが、既に PHP バックエンドを構成しており、期待どおりに動作しています。今、私の問題はダイアログにエラーを追加することです。ダミーデータを追加しようとしましたが、ngRepeat は機能しません。問題をデバッグするさまざまな手順も試しましたが、何もうまくいきません。私もこの問題について調査しましたが、運がありません。ここに私のコードがあります:

<div name="errors" id="errors" class="alert alert-error">
        <li ng-repeat="error in dialog.errors">{{ error }}</li>
</div>

リンクを見てみてください http://jsfiddle.net/QCQrF/

4

1 に答える 1

6

@Ryan jsFiddle で多くのことが起こっていましたが、最も重要な問題は、ダイアログのテンプレートを指定する方法でした。templateテンプレートは、文字列 (プロパティを使用) または部分 ( ) として指定できますtemplateUrl

テンプレートをパーシャルに移動する場合は、次のように指定できます。

var dialogOpts = {
        backdrop: true,
        keyboard: true,
        backdropFade: true,
        backdropClick: true,
        templateUrl:  'login-dialog.html',
        controller: 'DialogCtrl',
        resolve: { dialogScope : {
          errors : ['error1', 'error2'],
          title :'Add User',
          btnTxt : 'Create User'
        }}
    };

resolveまた、IMOでは、ダイアログのインスタンスを使用する代わりにプロパティを使用して、ダイアログのスコープで公開するデータを渡す方が簡単です。

これを表示するために、フィドルをプランクに変換しました: http://plnkr.co/edit/iGIwPBj9zBPgX3IUwBNj?p=preview

このサービスをさらに詳しく調べるには、$dialog のサービスの追加ドキュメントが役立つかもしれません: https://github.com/angular-ui/bootstrap/blob/master/src/dialog/README.md

最後の発言として、これは不要である$eventにもかかわらず、イベント ハンドラー (すべての呼び出し) に引数を渡していたことに気付きました。preventDefault()

于 2013-01-26T17:31:39.790 に答える