6

この角度のあるシンプルなページを開発しています。必要なコンポーネントをインストールするために Bower を使用していますが、アプリケーションは完全に機能していました。Angular animate ライブラリを利用することを決定するまで。最初に、どの「適切な」Angularライブラリを使用する必要があるかを尋ねられたBowerを使用しました.1.2.6(すでにインストールされて動作している)または1.2.14です。

したがって、1.2.6 を選択すると、追加直後にエラーが発生します。

var mainApp = angular.module('myStopApp', [
  'ngCookies',
  'ngResource',
  'ngSanitize',
  'ngRoute',
  'ngAnimate',
  'myStopModule'
])

キャッチされないエラー: [$injector:unpr] 不明なプロバイダー: $$asyncCallbackProvider <- $$asyncCallback <- $animate <- $compile

他のバージョンを選択すると、ng-class の使用を認識していないように見えるコードに問題が移ります。

私は ng-class="testClass" を持つ要素と私が持っているリスト要素を持っています:

ng-click="selectStop(stop); testClass='stop-active'"

私がanimations.cssに持っている場所:

.stop-active-add, .stop-active-remove {
  -webkit-transition:all linear 0.5s;
  -moz-transition:all linear 0.5s;
  -o-transition:all linear 0.5s;
  transition:all linear 0.5s;
  display:block!important;
}

.stop-active-add.add-active,
.stop-active-remove {
  opacity:0;
}

.stop-active-add,
.stop-active-remove.-remove-active {
  opacity:1;
}

ページの読み込み中に次のエラーが表示されます。

[$parse:syntax] Syntax Error: Token '=' implies assignment but [selectStop(stop); testClass] can not be assigned to...

最初の関数と angular の css フックの使用の両方を同じ ng-click で一緒にすることはできないようです。

2 つの問題のうち少なくとも 1 つを解決できますか :) ?..

4

1 に答える 1

0

Angular は、クリック ハンドラーの式でできることを変更したようです。クリック ハンドラーで既に呼び出している関数内に割り当てステートメントを配置しないのはなぜですか?

ng-click="selectStop(stop)"

そして、selectStop() 関数で:

$scope.selectStop = function(arg) {
    testClass = 'stop-active';
    ...
}
于 2014-03-16T16:36:41.950 に答える