【发布时间】:2015-12-16 00:01:13
【问题描述】:
我有一个像这样绑定到我的元素的 angularjs 控制器
<div ng-controller="mycontroller" ng-init="initialize('Type A')" >
<div ng-repeat="task in tasks">
...
</div>
</div>
我将初始化函数作为 $scope 的一部分实现
$scope.initialize = function(type) { ... do something... }
我在 Chrome 中收到运行时错误,说明以下内容
未捕获的错误:语法错误,无法识别的表达式: div:has([ng-repeat='任务中的任务'])[ng-init='initialize('Type A')']
该代码运行良好,并且可以执行应有的操作。但是为什么我确实在开发工具中看到了这个?
【问题讨论】:
-
div:has有点危险。什么版本的 Angular?您知道您不应该将ng-init用于此类事情。见docs.angularjs.org/api/ng/directive/ngInit -
也许类型 A 不是字符串.. 试试 ng-init="initialize(Type A)"
-
div:has让您看起来像是在使用 jQuery 或使用 jQuery 的库。你是?以什么方式?
标签: angularjs