javascript - 如何从指令链接方法中调用 js 插件 - Angularjs

标签 javascript jquery html angularjs

我正在尝试将 Bootstrap 3 的模式包装在 Angular 指令中。我进入链接功能,但无法调用 Bootstrap .modal()功能。这是我的 html:

<h1>This is a test!!!</h1>
<button ng-click="test()">This is a button</button>

<div id="myModal" class="modal fade" bsmodal>
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
        <h4 class="modal-title">Modal title</h4>
      </div>
      <div class="modal-body">
        <p>One fine body&hellip;</p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div><!-- /.modal-content -->
  </div><!-- /.modal-dialog -->
</div><!-- /.modal -->

这是我的指令:

App.directive('bsmodal', function() {
  return {
    restrict: 'A',
    link: function(scope, element, attrs) {
      element.modal('show');
    }
  };
});

当我到达element.modal('show')时,我收到错误,TypeError: Object #<Object> has no method 'modal'element对象看起来像 jQuery包装了对象,但它仍然没有该方法。我不明白的部分是我可以打电话 $('myModal').modal()在链接功能中,一切都按预期工作。

所以我的问题是

  1. element 之间有什么区别和一个 jQuery包裹的物体? (它们看起来一样)
  2. 如何调用 modal() element 上的函数在链接函数内?

最佳答案

Angular 使用 jQuery 的简化版本,jqLit​​e supports a subset of the functions offered by jQuery .

看起来您正在页面中加载 jQuery。如果您 Angular 之前加载它,Angular 将使用它而不是使用 jqLit​​e 并且您应该能够调用 element.modal('show').

关于javascript - 如何从指令链接方法中调用 js 插件 - Angularjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20275813/

相关文章:

javascript - HTML 音频不会因变量计数而停止

javascript - JQuery 动画在 Chrome 中延迟触发

javascript - 如何在两个组件中使用相同的验证字段?

javascript - 使用包含所有脚本的 jQuery 的动态内容

javascript - 如何使中间项目的 slider 比其他项目大?

html - 显示父元素时显示 HTML 子元素 :none

javascript - 如何使用从 SQL 数据库请求的相同数据在 <tr> 中创建链接?

javascript - 使用 var 或不使用 var 定义对象

javascript - 正则表达式不解析连续出现的模式

javascript - 仅将 json 中的某些值替换为 json