创建一个模态窗口以使用AngularJS加载数据

hil*_*arl 12 javascript angularjs

我一直在尝试使用AngularJS在模态窗口中加载数据,但我不知道该怎么做.我还需要在单击链接时更改URL以及在模式窗口内加载数据而不是加载新页面.

我尝试过使用jQuery Facebox插件,但它似乎没有用,我也使用了twitter bootstrap模态组件.

以下是我的代码:

<div class="subnav span12" id="post-main-container" ng-controller="PostsController">
  <div class="btn-group pull-left span5" id="sort-nav">
    <a class="btn active">Popular</a>
    <a class="btn">Recent</a>
    <a class="btn">Favorite</a>
  </div>
  <div class="btn-group pull-right " id="view-nav">
    <a class="btn" id="2col"><i class="icon-th-large"></i></a>
    <a class="btn active" id="4col"><i class="icon-th"></i></a>
    <a class="btn" id="6col"><i class="icon-th-list"></i></a>
  </div>
  <div class="btn-group pull-right">
    <a id="reload" class="btn"><i class="icon-refresh"></i></a>
    <a class="btn"><i class="icon-random"></i></a>
  </div>
  <div class="row-fluid span12" id="img-container">
    <ul class="unstyled" id="image-container">
      <li class="post-container box2" ng-repeat="post in posts">
        <div class="post-btns" style="display:none;">
          <a class="btn btn-mini" href="#">Share</a>
          <a class="btn btn-mini" href="#">Add</a>
        </div>
        <a href="#/posts/{{post.id}}">
          <img ng-src="{{post.image}}">
        </a>
        <p class="post-snippet" style="display:none;">{{post.description}}</p>
      </li>
    </ul>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我想加载"#/posts/{{post.id}}"一个模态窗口.

Dan*_*yon 7

不确定这是否能完全解决您的问题,但我们在http://angular-ui.github.com/上有一个bootstrap模式的指令包装器.因为您在页面中定义了div,所以双向数据绑定应该可以正常工作.关于要更改的url链接,我不确定为什么你会想要这个,因为这是一个模态控件.

角UI组都有一个angularjs更换JS模态和其他一些引导控制看这里

- 担

  • 为什么你不想直接将深层链接转换为模态?Trello.com做到这一点非常有用. (5认同)

Voj*_*jta 6

Angular方式是观看模型并更改模型的视图:

  • 将对话框放入标记中.
  • 将对话框的内容绑定到类似的内容selectedPost.
  • 单击该链接仅更改selectedPost并隐藏/显示该对话框.

这是一个非常快速的版本:http: //plnkr.co/edit/0fsRUp?p = preview

Checkout Angular UI,他们已经有了Bootstrap模态的组件.

  • 我觉得你的傻瓜已经死了. (4认同)