在AngularJS中使用Zurb Foundation互换

jQuery Mobile

我正在一个使用Zurb Foundation作为其CSS框架的AngularJS项目中。我试图弄清楚如何在AngularJS视图的上下文中使用Foundation的数据交换这是否有可能,我似乎无法使其正常工作。这是我目前拥有的:

index.html

<!DOCTYPE html>
<html ng-app='app' xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Test</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <link rel="stylesheet" href="foundation/normalize.css" />
    <link rel="stylesheet" href="foundation/foundation.min.css" />
    <link rel="stylesheet" href="app.css" />
</head>
<body>
    <div id="view" ng-view></div>

    <script type="text/javascript" src="jquery/2.0.3/jquery.min.js"></script>
    <script type="text/javascript" src="foundation/foundation.min.js"></script>

    <script type="text/javascript" src="angularjs/1.2.7/angular.min.js"></script>
    <script type="text/javascript" src="angularjs/1.2.7/angular-route.min.js"></script>

    <script type="text/javascript" src="app.js"></script>
</body>
</html>

app.js

angular.module('app', ['ngRoute'])
  .config(function ($routeProvider, $locationProvider) {
    $locationProvider.html5Mode(true);

    $routeProvider
      .otherwise({ templateUrl: '/views/interchange.html', controller: myCtrl });
    })
    .run(function ($rootScope, $location) {
      $rootScope.$on('$viewContentLoaded', function () {
        $(document).foundation();
      });
    })
;

function myCtrl() {
    console.log('loading controller');
}

exchange.html

<article>
    testing interchange
    <div data-interchange="[phone.html, (small)], [portrait.html, (medium)], [landscape.html, (large)]"></div>
</article>

加载应用程序时,我可以看到“测试交换”。但是,不会显示基于屏幕尺寸的内容(phone.html,portrait.html,landscape.html)。Phone.html,Portrait.html和landscape.html的DIV元素中仅包含有效表示“ Phone”,“ Portrait”和“ Landscape”的文本。

有没有办法在AngularJS ng-view中利用Foundation的数据交换内容?如果是这样,怎么办?谢谢

威廉·列平斯基

这里的重点是Zurb的数据交换功能在DOMContentLoad事件上运行,并且AngularJS视图的负载是异步的。因此,该事件已经发生。

为了解决这个问题,您需要使用$(document).foundation('interchange','reflow');手动触发数据交换。或$(document).foundation('reflow'); 回流所有组件。

要在正确的位置触发此事件,您需要在AngularJS路由系统上侦听一个名为$ routeChangeSuccess的特殊事件。像这样:

module.run(function ($rootScope) {
    $rootScope.$on('$routeChangeSuccess', function () {
        $(document).foundation('reflow');
    });
});

希望对您有帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Zurb Foundation 5中使用模具

来自分类Dev

在代码Igniter PHP项目中使用Zurb Foundation / Bootstrap

来自分类Dev

如何在Django Zurb Foundation中使用SASS / SCSS?

来自分类Dev

在 Django 项目中使用 Zurb Foundation 6 javascript

来自分类Dev

使用angularjs初始化zurb Foundation的工具提示

来自分类Dev

在html-div中使用markdown编写帖子(使用zurb Foundation 5和jekyll)

来自分类Dev

使用Zurb Foundation自动完成样式

来自分类Dev

使用Gulpjs编译Zurb Foundation局部

来自分类Dev

使用EmberJS操作的Zurb Foundation下拉列表

来自分类Dev

使用Zurb Foundation自动完成样式

来自分类Dev

使用Zurb Foundation CSS框架居中CSS

来自分类Dev

使用EmberJS操作的Zurb Foundation下拉列表

来自分类Dev

有没有一种可靠的方法可以在CakePHP中使用Zurb Foundation CSS框架?

来自分类Dev

如何在Zurb-Foundation中使图像跨多行?

来自分类Dev

Zurb Foundation Abide和AngularJS初始化

来自分类Dev

在AngularJS指令中初始化Zurb Foundation 5

来自分类Dev

Zurb Foundation Abide和AngularJS初始化

来自分类Dev

使用移位方法的互换数组

来自分类Dev

Zurb Foundation Framework的Browserify

来自分类Dev

对Zurb Foundation的贡献入门

来自分类Dev

Zurb Foundation Framework的Browserify

来自分类Dev

ZURB Foundation 6的要求

来自分类Dev

在为网站使用Zurb Foundation时如何安全设置样式?

来自分类Dev

Zurb Foundation 6使用网格-列-行混合

来自分类Dev

使用zurb Foundation 5时垂直对齐CSS

来自分类Dev

如何使用Zurb Foundation提交表单数据

来自分类Dev

如何使用Foundation 5 Zurb设置输入元素的宽度

来自分类Dev

在yeoman / grunt上使用新的zurb Foundation 6

来自分类Dev

Zurb-foundation:在标签标签内使用div

Related 相关文章

热门标签

归档