angularjs - 嵌套指令未编译

标签 angularjs angularjs-directive selectize.js

我创建了一个自定义指令,用于将模板加载到模式窗口中。模式窗口本身就是一个模板,并且能够毫无问题地运行我的自定义指令。加载到模式中的模板包含另一个指令,该指令使用angular-selectize创建一个选择列表。 。这是我的指令:

var dynamicTemplate = function($templateRequest, $compile) {

    return {
      restrict: "E",

      link: function(scope, element, attrs) {

        var modalOptions = JSON.parse(attrs.modalOptions);

        $templateRequest(modalOptions.Url).then(function(html) {

          $elem = $compile(html)(scope);   
          element.append($elem);
        });

      }
    }
  }

HTML 已正确加载,但 selectize 指令未初始化。

我也厌倦了 then 方法中的这个:

element.html(html)
$compile(element.contents())(scope);

这给了我同样的结果。

我遇到的问题是在编译 HTML 后收到此消息:

TypeError: element.selectize is not a function

这里是the plunk我正在与.

最佳答案

如果你想要angular.element要使用 jQuery,您必须在 Angular 加载之前将 jQuery 包含在页面中。

一旦更改脚本顺序,演示就可以正常工作

Updated demo

关于angularjs - 嵌套指令未编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33135573/

相关文章:

javascript - Express js post方法读取编码数据错误

javascript - 将 NG2 指令降级为 AngularJS

javascript - 在不更改 $scope 的情况下强制重新编译过滤后的 ng-attr

javascript - 如何捕获选择选择框上的悬停事件

javascript - Angular-ui-路由器 : Got error when assign number to resolve's property

javascript - 当 $compile 下的 HTML 被更改时,ng-repeat 不起作用

angularjs - 在 JavaScript 中初始化 Angular 指令

javascript - Angular : updating view with value passed from directive to controller

css - 如何创建带有两个搜索框的下拉菜单

php - selectize.js 不发送所有选定的选项,但只发送最后一个