6

我正在开发这个有角度的简单页面。我正在使用 Bower 安装我需要的组件,并且该应用程序曾经完美地工作。直到我决定利用 Angular 动画库。第一次我使用 Bower,它问我应该使用哪个“合适的”Angular 库: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中一起使用。

我可以为这两个问题中的至少一个找到解决方案吗:) ?..

4

1 回答 1

0

Angular 似乎已经改变了它们允许您在单击处理程序的表达式中执行的操作。为什么不把赋值语句放在你已经在点击处理程序中调用的函数中呢?

ng-click="selectStop(stop)"

然后在 selectStop() 函数中:

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