zoukankan      html  css  js  c++  java
  • 表单中的ngModelController

     测试表单中的ngController。直接看红字结论部分即可

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="angular-1.5.5/angular.js"></script>
    </head>
    <body ng-app="app">
    <form name="f">
        <input required type="text" name="addr" ng-model="addrModel" xx>
        {{f.addr.x}}
        {{f.addr.$error.required}}
    </form>
    <script>
        var app = angular.module('app',[]);
        app.directive('xx',function(){
            return {
                require:'ngModel',
                link:function(scope,ele,attr,ctrl){
                    ctrl.x = 'custom value';
                }
            }
        })
    </script>
    </html>

    以上两个值能正常显示。得出 f.addr实际上就是addrModel上的ngModelController,继续测试,对以上例子进行改造:

    <form name="f">
        <input required type="text" name="addr" ng-model="addrModel">
        <div xx ng-model="addrModel"></div>
        {{f.addr.x}}
        {{f.addr.$error.required}}
    </form>

    运行结果:只显示一个true,那个custom value就不显示了。那是因为每一个ngModel指令即使关联的是同一个model,ngModelController也是不同的,验证如下:

    <body ng-app="app">
    <form name="f">
        <div xx ng-model="addrModel"></div>
        <div xx ng-model="addrModel"></div>
    </form>
    <script>
        var app = angular.module('app',[]);
        app.directive('xx',function(){
            return {
                require:'ngModel',
                link:function(scope,ele,attr,ctrl){
                    console.log('get ' + ctrl.x)
                    ctrl.x = 123;
                }
            }
        })
    </script>

    输出两个undefined。得证

  • 相关阅读:
    整型
    圆的面积和周长
    买菜
    keil 生成 bin 文件 gd32为例
    内存中 1k 代表什么
    正反转 步进电机 驱动器 编码器
    stlink 无法再keil中识别 按下复位键可以识别
    单片机的时钟,系统时钟
    db9串口接头的定义
    E面波导和H面波导的问题
  • 原文地址:https://www.cnblogs.com/hellohello/p/7638530.html
Copyright © 2011-2022 走看看