在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.

AngularJS中的ng-controller是什么东东的更多相关文章

  1. angularJS中directive与controller之间的通信

    当我们在angularJS中自定义了directive之后需要和controller进行通讯的时候,是怎么样进行通讯呢? 这里介绍3种angular自定义directive与controller通信的 ...

  2. AngularJS中如何对Controller与Service进行分层设计与编码

    初学者的Controller 在我们当接触NG后,如需要通过访问远程的API获取一系列的数据进行显示,通常我的Controller代码会写成下面的样子: angular.module('demo') ...

  3. AngularJS中Model和Controller传值问题

    最近由于工作原因,开始写点前端的东西.前两天刚开始了解AngularJS这门技术,当然,新手免不了会爬坑! 今天分享一篇关于--> 模型传参给Controller的实例: 需求: 具体是  首先 ...

  4. 八、angularjs 中 filter在controller中的使用--避免多次遍历

    filter在html页面的使用司空见惯,比如: filter在controller中使用可以避免多次使用angular.foreach,来进行遍历.例如: 如果使用filter,则会让代码简洁而且明 ...

  5. AngularJS自定义Directive中link和controller的区别

    在AngularJS中,自定义Directive过程中,有时用link和controller都能实现相同的功能.那么,两者有什么区别呢? 使用link函数的Directive 页面大致是: <b ...

  6. AngularJS 中 Controller 之间的通信

    用 Angular 进行开发,基本上都会遇到 Controller 之间通信的问题,本文对此进行一个总结. 在 Angular 中,Controller 之间通信的方式主要有三种: 1)作用域继承.利 ...

  7. AngularJs 指令 directive中link,controller 的区别

    其实严格来讲,link和controller是完全不同的概念,这里讲区别有点牵强. angular指令中,带有link和controller两个函数,很多人在写指令的时候不知道是写在link里 还是c ...

  8. AngularJS中使用Directive、Controller、Service

    AngularJS是一款非常强大的前端MVC框架.同时,它也引入了相当多的概念,这些概念我们可能不是太熟悉. (1)Directive 指令 (2)Controller 控制器 (3)Service ...

  9. Angularjs中controller的三种写法

    在Angular中,Directive.Service.Filter.Controller都是以工厂方法的方式给出,而工厂方法的参数名对应着该工厂方法依赖的Service.angularjs中cont ...

随机推荐

  1. RHEL7 配置iSCSI模拟环境

    在之前文章<multipath多路径实验01-构建iSCSI模拟环境>中,已经介绍了如何构建iSCSI模拟环境(RHEL6),但在RHEL7中已经不适用,本文记录下新的配置方法. 环境:R ...

  2. hdu1517 巴什博奕变换

    //没必要递推sg,直接巴什博奕即可 /* 先手面对[n/2,n/9]必胜,即后手面对n/18必败 同理,后手面对n/18^2必败... 那么能否使后手面对n/18^k的局势,在于n/18^k是否在[ ...

  3. python+selenium五:多窗口切换与获取句柄

    from selenium import webdriverfrom selenium.webdriver.common.by import Byimport time driver = webdri ...

  4. 《剑指offer》-前n项和不准用通解和各种判断

    题目描述 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 这题目简直没事找事...为啥这么说,因为没有限 ...

  5. 如何批量的在django中对url进行用户登陆限制

    参考URL: https://blog.csdn.net/hanshengzhao/article/details/79540306?utm_source=blogxgwz0 1,首先定义一个内部有装 ...

  6. 转:CentOS下后台运行Python脚本及关闭脚本的一些操作

    自己写了一个python脚本,但是直接远程用putty连接后#python xxx.py执行,关闭putty脚本也随之关闭了,这里需要用到‘setsid’这个命令. #setsid python xx ...

  7. Spark学习入门

    Spark 是一种“One Stack to rule them all”通用的大数据计算框架,期望使用一个技术栈就完美地 解决大数据领域的各种计算任务. Spark特点:速度快.容易上手开发.超强的 ...

  8. 【noip模拟赛6】收入计划 最大值的最小值 二分答案

    描述 高考结束后,同学们大都找到了一份临时工作,渴望挣得一些零用钱.从今天起,Matrix67将连续工作N天(1<=N<=100 000).每一天末他可以领取当天及前面若干天里没有领取的工 ...

  9. 【Java】 剑指offer(10) 旋转数组的最小数字

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. ...

  10. File的方法

    1.介绍 file 对象使用 open 函数来创建. 2.常用的方法