angularjs指令中的基础5手风琴抛出异常

时间:2014-06-12 06:18:17

标签: javascript jquery angularjs angularjs-directive zurb-foundation

单击由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();
    });
}

1 个答案:

答案 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>