Як інтегрувати AngularUI до AngularJS?


79

Вибачте за безглузде питання, чи всі знають, як почати користуватися AngularUI? Я завантажив його з Github і прочитав інструкцію в README, але все ще не розумію, що мені робити.

Відповіді:


63

Етапи інтеграції:

  • Включіть jQuery та jQuery-ui (найкраще подаватись із CDN)
  • Включити angular (найкраще включити, якщо з CDN)
  • Включити angular-ui JS / CSS (наразі розміщується лише у сховищі GitHub у buildпапці)
  • Включіть будь-які плагіни jQuery для директив, які ви плануєте використовувати
  • Оголосіть залежності від модулів angular-ui ( ui.directivesабо ui.filtersзалежно від того, що ви плануєте використовувати).

Більшість з описаних кроків стосуються лише залежностей JS / CSS. Єдина "хитра" частина - це оголошення залежностей від модуля ui. *, Ви можете зробити це так:

var myApp = angular.module('myApp',['ui.directives']);

Як тільки всі залежності будуть включені та модуль налаштований, ви готові до роботи. Наприклад, використовувати директиву ui-date так просто, як (зауважте ui-date):

<input name="dateField" ng-model="date" ui-date>

Ось повний jsFiddle, який показує, як використовувати директиву ui-date: http://jsfiddle.net/r7UJ2/11/

Можливо, ви також захочете поглянути на джерела http://angular-ui.github.com/, де є живі приклади всіх директив.


Насправді, крок 1 є необов’язковим, залежно від того, які директиви ви використовуєте, а крок 5 є просто неправильним, оскільки лише включення ui.directivesвидаватиме помилки, коли на нього ui.configбуде посилатися. Натомість вам слід завжди включати uiта просто видаляти директиви / фільтри, які вам не потрібні.
ProLoser

Хм, якщо я не помиляюся , крок 5 є правильним дійсно так , як ui.directivesі ui.filtersотримали залежність від ui.configмодуля. Але, звичайно, тут міг згадуватися лише uiмодуль.
pkozlowski.opensource

Ось приклад інтеграції angular-ui, angular
Роберт Крістіан,

@martinpaulucci здається, що оновлений jsfiddle також зламаний
wmitchell

Включення jQuery сприятиме маніпулюванню DOM. Це не кінець світу, але це може знеохотити вас вирішувати проблеми кутовим способом.
RevNoah

21

Станом на 3 травня 2013 р. Ось такі кроки:

включати

    <script src="angular.min.js"></script>
    <script src="ui-bootstrap-tpls-0.3.0.min.js"></script>

зареєструвати інтерфейс користувача

    angular.module('myFancyApp', ['ui.bootstrap']);

переконайтеся, що myFancyAppтакий самий, як у вашому<html ng-app="myFancyApp">

Нехай магія розпочнеться.


Наразі використовуйте twitter-boostrap-css v2.3.1 або щось подібне, а не v3.
SunnyRed

3
Я тут трохи розгублений. angular-ui-bootstrap та
angular

11

Я думаю, що бракує плагінів - вам потрібно додати сценарії плагінів jquery та css, щоб деякі директиви angular-ui працювали. Наприклад, директиві codemirror потрібно:

    <script src="http://codemirror.net/lib/codemirror.js" type="text/javascript"></script>
    <script src="http://codemirror.net/lib/util/runmode.js" type="text/javascript"></script>
<link rel="stylesheet" href="http://codemirror.net/lib/codemirror.css" type="text/css" />

Для мене несподіванкою, що angular-ui.github.com не згадує про необхідність включати плагіни.


3

Привіт, я спеціально написав статтю про те, як це зробити для підсвічування синтаксису PHP. Стаття знаходиться тут: http://neverstopbuilding.net/how-to-integrate-codemirror-with-angular-ui/

Основною справою є правильне налаштування:

var myApp = angular.module('myApp', ['ui']);

myApp.value('ui.config', {
    codemirror: {
            mode: 'text/x-php',
        lineNumbers: true,
        matchBrackets: true
    }
});

function codeCtrl($scope) {
    $scope.code = '<?php echo "Hello World"; ?>';
}

Для чогось на зразок такого фрагмента HTML:

<div ng-app="myApp">
    <div ng-controller="codeCtrl">
        <textarea ui-codemirror ng-model="code"></textarea>
    </div>
</div>

Ви можете побачити весь jsfiddle набору тут: http://jsfiddle.net/jrobertfox/RHLfG/2/

pkozlowski.opensource правильно, є набагато більше файлів, які потрібно включити, ніж це здається з документації AngularUI (якщо ви можете назвати це документацією ...)

У будь-якому випадку я сподіваюся, що це корисно для вас чи інших.


+1 за те, що я зрозумів, що вводив неправильний модуль. Я встановлював 'angular-ui' через bower і намагався ввести 'ui.bootstrap'. Дві окремі речі.
saiyancoder 02

1

Інструкції містяться у файлі readme.md в їх офіційному сховищі github

Кутовий інтерфейс користувача

Крім того, спосіб дізнатись, як інтегрувати, - це відкрити файл angular-ui js (приклад: ui-bootstrap-tpls-0.6.0.js), і в першому рядку ви помітите наступне твердження

angular.module("ui.bootstrap", [...deps...])

Виходячи з наведеного вище коду, вам потрібно ввести 'ui.bootstrap' у ваш модуль.

  angular.module('myFancyApp', ['ui.bootstrap','other_deps',.....]);

це інструкції для Angular UI Bootstrap
Zach Lysobey
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.