[AngularJS] Introduction to angular-formly

<!DOCTYPE html>
<html>

<head>
    <!-- Each of these scripts are the latest version of the library at the time this jsbin was created -->

    <!-- Twitter bootstrap -->
    <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.min.css"/>
    <!-- api-check is a dependency of angular-formly -->
    <script src="bower_components/api-check/dist/apiCheck.min.js"></script>

    <!-- angular.js is a dependency of angular-formly (obviously) -->
    <script src="bower_components/angular/angular.min.js"></script>

    <!-- This is angular-formly -->
    <script src="bower_components/angular-formly/dist/formly.min.js"></script>

    <!-- This is a bootstrap template libraray giving us some pre-defined types for bootstrap -->
    <script src="//rawgit.com/formly-js/angular-formly-templates-bootstrap/4.0.3/dist/angular-formly-templates-bootstrap.js"></script>

    <title>Angular Formly Lesson</title>
</head>

<body ng-app="formlyExample" ng-controller="MainCtrl as vm">
<div>
    <h1>
        angular-formly: Introduction<br />
        <small>Egghead.io lesson by @kentcdodds</small>
    </h1>
    <form name="vm.form" ng-submit="vm.onSubmit()" novalidate>
        <formly-form model="vm.model" fields="vm.fields"></formly-form>
        <button type="submit" class="btn btn-primary submit-button">Submit</button>
    </form>

    <form name="vm.form" ng-submit="vm.onSubmit()" novalidate>
        <div class="form-group">
            <label for="firstName">First Name</label>
            <input ng-model="vm.model.firstName" id="firstName" name="firstName" class="form-control" />
        </div>
        <button type="submit" class="btn btn-primary submit-button">Submit</button>
    </form>
    <h2>Model</h2>
    <pre>{{vm.model | json}}</pre>
    <h2>Fields <small>(note, functions are not shown)</small></h2>
    <pre>{{vm.originalFields | json}}</pre>
    <h2>Form</h2>
    <pre>{{vm.form | json}}</pre>
</div>
<script src="app.js"></script>
</body>

</html>

 

/* global angular */
(function() {

    'use strict';

    var app = angular.module('formlyExample', ['formly', 'formlyBootstrap']);

    app.controller('MainCtrl', function MainCtrl() {
        var vm = this;
        // funcation assignment
        vm.onSubmit = onSubmit;

        // variable assignment
        vm.model = {
            firstName: 'Obi Wan',
            something: {name: "default",value:"default"}
        };
        vm.fields = [
            {
                type: 'input',
                key: 'firstName',
                templateOptions: {
                    label: 'First Name'
                }
            },
            {
                template: '<hr />'
            },
            {
                type: 'select',
                key: 'something',
                templateOptions: {
                    label: 'Select Somthing',
                    options: [
                        {name: "wan", value: "Wan"},
                        {name: "obi", value: "Obi"},
                        {name: "Yui", value: "yui"}
                    ]
                }
            }
        ];


        // copy fields because formly adds data to them
        // that is not necessary to show for the purposes
        // of this lesson
        vm.originalFields = angular.copy(vm.fields);

        // function definition
        function onSubmit() {
            alert(JSON.stringify(vm.model), null, 2);
        }
    });

})();

 

posted @ 2015-03-17 22:19  Zhentiw  阅读(613)  评论(0编辑  收藏  举报