博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

6个强大的AngularJS扩展应用

Posted on 2016-11-25 11:12  sunjie  阅读(1312)  评论(0编辑  收藏  举报

本文链接:http://www.codeceo.com/article/6-angularjs-extension.html
本文作者:码农网 – 小峰

AngularJS现在非常热门,是Google推出的一款非常优秀的前端JS框架。AngularJS最核心的概念是MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。目前AngularJS扩展还比较少,本文就向各位分享6个实用强大的AngularJS扩展应用。

1、AngularJS 认证模块 Satellizer

Satellizer是一个端到端的基于 token 的AngularJS认证模块,Satellizer支持Google、Facebook、LinkedIn 和 Twitter 认证体系,并且也提供邮箱和密码的登录方式,另外Satellizer支持 OAuth 1.0 和 2.0 规范,所以你可以更加灵活地扩展认证方法。

下面是Satellizer的使用代码示例:

angular.module('MyApp', ['satellizer'])
  .config(function($authProvider) {

    $authProvider.facebook({
      clientId: '624059410963642',
    });

    $authProvider.google({
      clientId: '631036554609-v5hm2amv4pvico3asfi97f54sc51ji4o.apps.googleusercontent.com'
    });

    $authProvider.github({
      clientId: '0ba2600b1dbdb756688b'
    });

    $authProvider.linkedin({
      clientId: '77cw786yignpzj'
    });

    $authProvider.twitter({
      url: '/auth/twitter'
    });

    $authProvider.oauth2({
      name: 'foursquare',
      url: '/auth/foursquare',
      redirectUri: window.location.origin,
      clientId: 'MTCEJ3NGW2PNNB31WOSBFDSAD4MTHYVAZ1UKIULXZ2CVFC2K',
      authorizationEndpoint: 'https://foursquare.com/oauth2/authenticate',
    });

  });

官方地址:https://github.com/sahat/satellizer

2、AngularJS UI 扩展 AngularUI

AngularUI为AngularJS提供了很多UI增强效果,并且提供了IE、jQuery 兼容,以及一些常用 UI 组件。

AngularUI包含以下模块:

  • UI-Utils
  • UI-Modules
  • UI-Alias
  • UI-Bootstrap
  • NG-Grid
  • UI-Router
  • IDE Plugins
  • GSoC

官方主页:http://angular-ui.github.io/

3、Bootstrap 集成 AngularJS 模块 AngularStrap

AngularStrap可以非常完美地将Bootstrap集成到AngularJS中,AngularStrap包含大部分支持AngularJS指令,所以并不需要依赖其他的样式和脚本。

下面是一个示例:

angular.module(‘myApp’)
.controller(‘DemoCtrl’, function($scope, $modal) {
// Show a basic modal from a controller
var myModal = $modal({title: ‘My Title’, content: ‘My Content’, show: true});

// Pre-fetch an external template populated with a custom scope
var myOtherModal = $modal({scope: $scope, template: ‘modal/docs/modal.tpl.demo.html’, show: false});
// Show when some event occurs (use $promise property to ensure the template has been loaded)
$scope.showModal = function() {
myOtherModal.$promise.then(myOtherModal.show);
};
})

官方主页:http://mgcrea.github.io/angular-strap/

4、AngularStrap 实时、多用户应用 GoAngular

GoAngular 可让你轻松使用 AngularJS 和 GoInstant 构建实时、多用户的应用程序。

下面是config.js文件:

window.CONFIG = {
  connectUrl: 'https://goinstant.net/YOUR_ACCOUNT/YOUR_APP'
};

打开一个示例页面:

$ open examples/index.html

5、AngularJS UI 组件 adapt-strap

adapt-strap 是 AngularJS UI 组件和实用工具,是基于 AngularJS 1.2+ 和 bootstrap 3 的。

特性:

  • Table Lite - 简单的列表 UI
  • Table AJAX - 高级的列表 UI
  • Tree Browser - 简单的树形 UI
  • Loading Indicators - 简单的指令
  • Global configuration - 所有组件都是全局配置使用
  • Customizable - 所有组件都是支持高度自定义的

官方主页:https://github.com/Adaptv/adapt-strap

6、AngularJS 的国际化模块 angular-translate

angular-translate 是一个 AngularJS 的模块,用于简化 i18n 和 l10n 应用的便携,实现了延迟加载和多元化。

DEMO示例:

var app = angular.module('at', ['pascalprecht.translate']);

app.config(function ($translateProvider) {
  $translateProvider.translations('en', {
    TITLE: 'Hello',
    FOO: 'This is a paragraph.',
    BUTTON_LANG_EN: 'english',
    BUTTON_LANG_DE: 'german'
  });
  $translateProvider.translations('de', {
    TITLE: 'Hallo',
    FOO: 'Dies ist ein Paragraph.',
    BUTTON_LANG_EN: 'englisch',
    BUTTON_LANG_DE: 'deutsch'
  });
  $translateProvider.preferredLanguage('en');
});

app.controller('Ctrl', function ($scope, $translate) {
  $scope.changeLanguage = function (key) {
    $translate.use(key);
  };
});

官方主页:http://angular-translate.github.io/

随着AngularJS的不断流行,会有更多的扩展应用,并大部分都是开源的项目,AngularJS真的非常方便,你不妨也可以试试。