zoukankan      html  css  js  c++  java
  • AngularJS中的ng-controller是什么东东

    在AngularJS中,ng-controller是最常用的directive。比如:

    var app = angular.module("app",[]);
    app.controlle("AppCtrl", function(){
        var app = this;
        app.people = [
            {"firstName":"", "lastName":""},
            ...
        ];
    })
    
    app.controller("FirstCtrl", function(){
        var first = this;
        first.message = "i am the first one";
    })
    
    app.controller("SecondCtrl", function(){
        var second = this;
        second.message = "i am the second one";
    })

    页面部分:

    <body ng-controller="AppCtrl as app">
        <div ng-controller="FirstCtrl as first">
            {{first.message}}
        </div>
        <div ng-controller="SecondCtrl as second">
            {{second.message}}
        </div>
    </body>

    现在模拟一个ng-controller的directive

    app.directive("myController", function(){
        return {
            scope: true,
            controller: '@'
        }
    })

    可见,my-controller和ng-controlller工作原理是一样的。

    页面部分使用my-controller

    <body my-controller="AppCtrl as app">
        <div my-controller="FirstCtrl as first">
            {{first.message}}
        </div>
        <div my-controller="SecondCtrl as second">
            {{second.message}}
        </div>
    </body>

    所有的页面呈现都不变。

    如果我们想让自定义的my-controller替代AngularJS默认的ng-controller,可以使用priority属性:

    app.directive("myController", function(){
        return {
            scope: true,
            controller: '@',
            priority: 500
        }
    })

    默认的priority字段值是0.

  • 相关阅读:
    libevent源码分析--(转)
    libevent源码分析(转)
    服务器模型---总结
    暴力英语学习法 + 严格的目标管理 = 成功快速靠谱的学好英语(转)
    log4net写入mysql完整例子
    form操作
    ASP.NET Razor
    java爬虫:在请求body中增加json数据采集
    asp.net mvc3登录验证
    远程复制无法读取源文件或磁盘
  • 原文地址:https://www.cnblogs.com/darrenji/p/5182905.html
Copyright © 2011-2022 走看看