zoukankan      html  css  js  c++  java
  • angularjs 动态表单, 原生事件中调用angular方法

    1. 原生事件中调用angular方法, 比如 input的onChange事件想调用angular里面定义的方法 - **onChange="angular.element(this).scope().uploadPhoto(this)" **

    <div class="col-md-2">  
        <input onChange="angular.element(this).scope().uploadPhoto(this)" type="file" style="display: none; 0px;height: 0px;" ng-model="$parent.photos[$index]" name="newImg_{{$index}}" id="newImg_{{$index}}"/>
        <button class="button button-energized" style="margin-bottom: 2px;" ng-click="selectPhoto($index)"><i class="ion-android-upload"></i> <span>上传图片</span></button>
        <button ng-if="$index>0" class="button button-energized" ng-click="delImg($index)"><i class="ion-android-close"></i> <span>删除图片</span></button>
    </div>
    

    1. 动态表单, 注意用到的ng-initthis[size]

    <div ng-app ng-init='size="X";X="165cm";XL="175cm"'>
      <p>X标准:<input ng-model="X"></p>
      <p>XL标准:<input ng-model="XL"></p>
      
      <p>选择你的体恤尺寸:
      <select ng-model="size">
        <option>X</option>
        <option>XL</option>
      </select></p>
      
      <p>实际尺寸大小:
      <input name="123" ng-model="this[size]"></p>
    </div>
    

    1. 动态form还有这么玩的

    <!DOCTYPE html>
    <html>
    
    <head>
        <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script>
        <meta charset="utf-8">
        <!--
    Created using JS Bin
    http://jsbin.com
    
    Copyright (c) 2017 by morlay (http://jsbin.com/dadono/2/edit)
    
    Released under the MIT license: http://jsbin.mit-license.org
    -->
        <meta name="robots" content="noindex">
        <title>JS Bin</title>
    </head>
    
    <body ng-controller="RepeatController as vm">
        <form name="form">
            <div ng-repeat="field in vm.fields">
                <span ng-bind="field.name"></span>
                <input ng-model="value" dynamic-name="field.name">
                <span ng-bind="value"></span>
            </div>
        </form>
    
    </html>
    <script>
    angular
        .module('rf', [])
        .directive('dynamicName', dynamicNameDirective)
        .controller('RepeatController', repeatController);
    
    
    angular.bootstrap(document, ['rf']);
    
    // @ngInject
    function repeatController($scope) {
    
        console.log($scope);
    
        this.fields = [{
                name: 'name0'
            },
            {
                name: 'name1'
            },
            {
                name: 'name2'
            }
        ];
    
        return this;
    }
    
    function dynamicNameDirective() {
        return {
            restrict: 'A',
            priority: 10000,
            controller: dynamicNameController
        };
    }
    
    // @ngInject
    function dynamicNameController($scope, $element, $attrs, $parse) {
        var name = $parse($attrs.dynamicName)($scope);
        delete($attrs.dynamicName);
        $element.removeAttr('data-dynamic-name');
        $element.removeAttr('dynamic-name');
        $attrs.$set("name", name);
    }
    </script>
    <script src="http://static.jsbin.com/js/render/edit.js?4.1.0"></script>
    <script>
    jsbinShowEdit && jsbinShowEdit({ "static": "http://static.jsbin.com", "root": "http://jsbin.com" });
    </script>
    <script>
    (function(i, s, o, g, r, a, m) {
        i['GoogleAnalyticsObject'] = r;
        i[r] = i[r] || function() {
            (i[r].q = i[r].q || []).push(arguments)
        }, i[r].l = 1 * new Date();
        a = s.createElement(o),
            m = s.getElementsByTagName(o)[0];
        a.async = 1;
        a.src = g;
        m.parentNode.insertBefore(a, m)
    })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
    
    ga('create', 'UA-1656750-34', 'auto');
    ga('require', 'linkid', 'linkid.js');
    ga('require', 'displayfeatures');
    ga('send', 'pageview');
    </script>
    

  • 相关阅读:
    服务器重启
    aliyun修复漏洞之后,重启php-fpm命令
    数据结构和算法绪论(一)
    微信小程序+微信公众号开发总结
    数字校园项目-学生失联预警系统(三)----数据库设计
    数字校园项目-学生失联预警系统(二)-----项目部署
    数字校园项目-学生失联预警系统(一)
    gdut极路由破解教程
    项目:JavaWeb聊天室(问题汇总)
    项目:点餐系统(问题汇总)
  • 原文地址:https://www.cnblogs.com/wancy86/p/7834067.html
Copyright © 2011-2022 走看看