zoukankan      html  css  js  c++  java
  • [AngularJS] Using ngModel in Custom Directives

    You can use ngModel in your own directives, but there are a few things you'll need to do to get it working properly.

    ngModel itself is an directive. If you want to use it inside your own directive, you should use require keyword.

    /**
     * Created by Answer1215 on 12/18/2014.
     */
    angular.module('app', [])
        .directive('bank', function() {
            return{
                restrict: 'E',
                template: '<div>Click me to add $10 into your account</div>',
                require: 'ngModel',
                //The ^ prefix means that this directive searches for the controller on its parents (without the ^ prefix, the directive would look for the controller on just its own element)
                link: function(scope, element, attrs, ngModelCtrl) {
                    //so it looks for the controller on ngModel --> ngModelController
                    //it has method setViewValue
                    //has prop: viewValue
                    element.on('click', function() {
                        ngModelCtrl.$setViewValue(ngModelCtrl.$viewValue + 10);
                        scope.$apply();
                    })
                }
            }
        })
    <!DOCTYPE html>
    <html ng-app="app">
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
    <div ng-init="money=10"></div>
    <bank ng-model="money"></bank>
    {{money | currency}}
    <script src="bower_components/angular/angular.min.js"></script>
    <script src="app.js"></script>
    </body>
    </html>
  • 相关阅读:
    2015 ACM/ICPC Asia Regional Changchun Online HDU 5444 Elven Postman【二叉排序树的建树和遍历查找】
    JDBC连接MySQL数据库
    MySQL实习训练1
    I Hate It
    Just a Hook
    Mayor's posters
    asd的甩锅计划
    程序员的恋情
    Radical and array
    Highways
  • 原文地址:https://www.cnblogs.com/Answer1215/p/4173059.html
Copyright © 2011-2022 走看看