单击由angularjs指令生成的手风琴时,会出现以下错误。我无法找到任何线索,除了它与动态创建的内容有关之外,为什么会发生这种情况。那些线索告诉我在我的angularjs控制器中再次打电话给基础。我错过了什么?
Unhandled exception at line 58, column 7 in
http://localhost:58753/Scripts/foundation/foundation.js
0x800a139e - JavaScript runtime error: SyntaxError
发生在这里
var S = function (selector, context) {
if (typeof selector === 'string') {
if (context) {
var cont;
if (context.jquery) {
cont = context[0];
if (!cont) return context;
} else {
cont = context;
}
return $(cont.querySelectorAll(selector));
}
return $(document.querySelectorAll(selector));
}
return $(selector, context);
};
我的模板
<dl class="accordion" data-accordion>
<dd ng-repeat="x in myCollection | filter: { ParentId :'!', Checked : true }">
<a href="#{{x.Id}}"> {{x.Description}}</a>
<div id="{{x.Id}}" class="content">
asdf
</div>
</dd>
</dl>
我的指示
var myApp = angular.module('myApp', []);
function myDir() {
"use strict";
function link(scope, elem, attr) {
}
function ctrl(scope) {
};
ctrl.$inject = ['$scope'];
var ddo = {
restrict: 'E',
transclude: false,
replace: false,
templateUrl: '/AngularTemplates/ScopePicker',
link: link,
controller:ctrl,
scope: {
myCollection: '='
}
};
return ddo;
}
myApp.directive('myDir', myDir);
我的控制器
function MyCtrl(scope,http) {
http.get('/api/somethingcool').success(function (result) {
scope.foo = result; // gets passed into myColleciton for the directive
angular.element(document).foundation();
});
}
答案 0 :(得分:0)
发现了它。 html Id字段不能以数字开头。在数字处理此要求之前添加一些字母。
<dl class="accordion" data-accordion>
<dd ng-repeat="x in myCollection | filter: { ParentId :'!', Checked : true }">
<a href="#foo_{{x.Id}}"> {{x.Description}}</a>
<div id="foo_{{x.Id}}" class="content">
asdf
</div>
</dd>
</dl>