Mdb-ui-kit: AngularjSで$ .material.init()を使用する正しい方法

作成日 2014年11月10日  ·  17コメント  ·  ソース: mdbootstrap/mdb-ui-kit

やあ、

AngularJSのコントローラー内で$ .material.init()を使用する際に問題が発生しました。 特にform-controlタグを使用します。

私の問題は、コントローラー内で$ .material.init()を呼び出さないと、波及効果/フローティングラベルが機能しないことです。 そして、私がそれを呼ぶと、波紋はうまく機能しますが、ng-modelによるデータバインディングは機能しません。 フォームが送信されたらIDを使用して要素を手動で取得することで回避できましたが、ng-modelによるデータバインディングが必要な検索バーに実装する必要があります。

$ .material.init()をインスタンス化して、すべてのコントローラーで使用できるようにする正しい方法はありますか?

ありがとう!

最も参考になるコメント

到着.jsは私のために働いたありがとう

// app.js
angular.module('starterApp', ['ngRoute','users'])

.config(function($routeProvider){
    // works with arrive js
    $.material.init();
})
<!-- Material Design for Bootstrap -->
  <script src="lib/arrive/js/arrive.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-material-design/0.2.2/js/material.min.js"></script>


  <script src="./app.js"></script>
  <script src="./src/users/UserController.js"></script>

全てのコメント17件

material.jsの前にarrive.jsを含めてみましたか?

うーん..arrive.jsを使用して何を意味するのかわかりません。どの例でも見られませんでしたし、そのスクリプトが何をするのかもわかりません。

これが私のスクリプトのリストです

<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="js/plugins.js"></script>
<script src="//tinymce.cachefly.net/4.1/tinymce.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-rc.5/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-rc.5/angular-resource.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-rc.5/angular-route.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-rc.5/angular-cookies.min.js"></script>
<script src="bower_components/angular-local-storage/dist/angular-local-storage.min.js"></script>
<script src="js/vendor/angular_tinymce.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script data-require="[email protected]" data-semver="0.11.0" src="http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.11.0.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-material-design/0.1.5/js/ripples.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-material-design/0.1.5/js/material.min.js"></script>
<script src="//fezvrasta.github.io/snackbarjs/dist/snackbar.min.js"></script>
<script src="js/main.js"></script>
<script src="js/services.js"></script>
<script src="js/controllers/main_controller.js"></script>
<script src="js/controllers/authentication_controller.js"></script>
<script src="js/controllers/account_controller.js"></script>
<script src="js/controllers/map_controller.js"></script>
<script src="js/controllers/new_user_controller.js"></script>
<script src="js/controllers/pages_controller.js"></script>
<script src="js/controllers/new_page_controller.js"></script>
<script src="js/controllers.js"></script>
<script src="js/directives.js"></script>

私はそれらを多くの異なる順序で再配置しようとしましたが、私の問題を解決するものは何もないようです:(

私はarrive.jsを検索し、それをmaterial.jsの前に含めて、何が起こるかを確認します。

この素晴らしいライブラリと迅速な対応に感謝します! :)

それは実際に問題を修正しました! ありがとうございました!! :)

どういたしまして :)

こんにちはFezVrasta、

まず第一に、私はこの作品で素晴らしい才能が明らかにされていると思います:)

AngularJSアプリでライブラリを使用しようとしています。
Arrivate.jsを追加すると、花火の一部が表示されますが、他のコンポーネントのパフォーマンスに大きな影響を与えているようです。
ボタンをクリックするアニメーションが非常に遅くなりました。

それはなじみのあることですか、それとも私は何か間違ったことをしていますか?

この宝石をありがとう!

Arrivate.jsは物事を大きく遅らせるように見えます。

$.material.something("CSS selector");を使用して、新しい要素を手動で初期化できます(これが推奨される方法です)。

迅速な返答に感謝致します。

$ .material.input()を実行すると(入力の場合)、Angular.jsデータバインディングが台無しになります。
私はこれを見つけまし

このテーマはWebコンポーネントを利用していません

どう言う意味ですか? それについて少し詳しく説明していただけますか?

ありがとう!

@chenopこれをAngularで使用する方法を見つけましたか?

PR#365でArrive.jsを使用します。 これが最も簡単な方法です。

パフォーマンスの問題はもうなく、うまく機能します。

Angularアプリで$ .material.init()を実行するのに問題があります。 次のエラーを受け取ります。

TypeError: Cannot read property 'init' of undefined

PR#365のパッチにマージし、arrive.jsを含めました。これが、プラグインを初期化しようとしている方法です(ngテンプレートのng-initタグを使用)。

 // initializes the material design ripples 
  this.scope_.initMaterial = function() {
     angular.element.material.init();
  };

何か案は?

これも私にはうまくいきません。 正しく行った例を教えてください。

到着.jsは私のために働いたありがとう

// app.js
angular.module('starterApp', ['ngRoute','users'])

.config(function($routeProvider){
    // works with arrive js
    $.material.init();
})
<!-- Material Design for Bootstrap -->
  <script src="lib/arrive/js/arrive.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-material-design/0.2.2/js/material.min.js"></script>


  <script src="./app.js"></script>
  <script src="./src/users/UserController.js"></script>

このプロジェクトをAngularJSで使用しようとしている場合は、 http: //tilwinjoy.github.io/angular-bootstrap-material/を試してください。

こんにちは、私はここですべてのコメントを読み、arrivate.jsを含めて修正しようとしましたが、機能しません。
私がarrive.jsをグーグルで検索したとき、arrive.jsはこのリポジトリhttps://github.com/uzairfarooq/arriveからダウンロードされますかそれが最初です。

@ christopher-ustbあなたはあなたのすぐ上のコメントを読みましたか? 多分それを試してみてください...

このページは役に立ちましたか?
0 / 5 - 0 評価