在Angular中,Directive、Service、Filter、Controller都是以工厂方法的方式给出,而工厂方法的参数名对应着该工厂方法依赖的Service。angularjs中controller其实就是一个方法,它有三种写法,下面来一起看看吧。

第一种:

<pre name="code" class="javascript">var AppController = ['$scope', function($scope){
   $scope.notifyServiceOnChage = function(){
   console.log($scope.windowHeight);
 };
}];
app.controller('AppController',AppController);

在定义AppController的时候,先声明方法需要注入的参数,然后再定义方法体。最后将AppController绑定到app上。

第二种:

app.controller('AppController'function($scope){ 
  $scope.notifyServiceOnChage = function(){
   console.log($scope.windowHeight);
 };
})

直接在app的controller属性定义,首先是controller名字,然后是方法体。

第三种:

function AppController($scope) {
  $scope.notifyServiceOnChage = function(){ 
   console.log($scope.windowHeight);
 };
}

直接写方法,然后在ng-controller引用该方法

总结

以上就是关于angularjs中controller三种写法的全部内容,不知道大家都学会了没有,希望这篇文章的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

Angularjs中controller的三种写法的更多相关文章

  1. angularjs 的controller的三种写法

    AngularJS 的controller其实就是一个方法,它有三种写法: 第一种: <pre name="code" class="javascript" ...

  2. vue中template的三种写法

    第一种(使用模板字符串)早期字符串拼接年代 <div id="app"></div> new Vue({ el: "#app", tem ...

  3. C#中关于异步的三种写法

    1 投票 IAsyncResult ar = d1.BeginInvoke(1, 3000, null, null); while (!ar.IsCompleted) class Program { ...

  4. angularjs 自定义服务的三种方式

    angularjs 中可通过三种($provider,$factory,$service)方式自定义服务,以下是不同的实现形式: // 定义module , module中注入$providevar ...

  5. jquery 在页面中三种写法

    jQuery 分 2 个系列版本 1.x 与 2.x,主要的区别在于 2.x 不再兼容 IE6.7.8浏览器,这样做的目的是为了兼容移动端开发.由于减少了一些代码,使得该版本比 jQuery 1.x ...

  6. 链接属性rel=’external’、rel=’nofollow’、rel=’external nofollow’三种写法的区别

    链接属性rel='external'.rel='nofollow'.rel='external nofollow'三种写法的区别   大家应该都知道rel='nofllow'的作用,它是告诉搜索引擎, ...

  7. 总结 React 组件的三种写法 及最佳实践 [涨经验]

    React 专注于 view 层,组件化则是 React 的基础,也是其核心理念之一,一个完整的应用将由一个个独立的组件拼装而成. 截至目前 React 已经更新到 v15.4.2,由于 ES6 的普 ...

  8. springMVC中controller的几种返回类型

    ==网文1,还不错,感觉比较老旧springMVC中controller的几种返回类型 - CSDN博客http://blog.csdn.net/qq_16071145/article/details ...

  9. insert into 语句的三种写法

    insert into 语句的三种写法 方式1. INSERT INTO t1(field1,field2) VALUES (v001,v002);            // 明确只插入一条Valu ...

随机推荐

  1. vue调试工具vue-devtools安装及使用方法

    vue调试工具vue-devtools安装及使用方法 https://www.jb51.net/article/150335.htm 本文主要介绍 vue的调试工具 vue-devtools 的安装和 ...

  2. java面试(二)

    1.java常见的容器 几乎所有的容器都继承了Collecton接口,包括List.Set.Queue.Map List包括Vector.ArrayList.LinkedList,      Set包 ...

  3. 在自定义的widget中引入图表后,运行时出现TypeError #1009错误

    本人网上查找了很多资料,其中大部分都是关于Flash中的动画效果问题,与这里的问题关系型不太大.故把问题的解决方法写在这里,与人方便,与己方便. 方法一: 1.在自定义的widget中添加如下两个方法 ...

  4. mcast_unblock_source函数

    #include <errno.h> #include <sys/socket.h> #define SA struct sockaddr int mcast_unblock_ ...

  5. 「AHOI2014/JSOI2014」奇怪的计算器

    「AHOI2014/JSOI2014」奇怪的计算器 传送门 我拿到这题首先是懵b的,因为感觉没有任何性质... 后来经过同机房dalao的指导发现可以把所有的 \(X\) 放到一起排序,然后我们可以发 ...

  6. 一个不会coding的girl Linux日常之命令awk

    Linux日常之命令awk 参考:http://www.zsythink.net/archives/tag/awk/ 一. 命令awk简介 1. awk是一种编程语言,用于对文本和数据进行处理的 2. ...

  7. sqllab less-1

    1.访问sqllab 的less-1 按提示加入http://10.9.2.81/Less-1/?id=1 2. 后面加入单引号,发生报错http://10.9.2.81/Less-1/?id=1‘ ...

  8. 【转】十步让你成为一名优秀的Web开发人员

    第一步:学好HTML HTML(超文本标记语言)是网页的核心,因此你首先应该学好它,不要害怕,HTML很容易学习的,但也很容易误用,学懂容易要学精还得费点功夫,但学好HTML是成为Web开发人员的基本 ...

  9. 吴裕雄--天生自然数据结构与算法:java代码实现常用数据结构——链表Linked List

    class Node{ // 定义节点类 private String data ; // 保存节点内容 private Node next ; // 表示保存下一个节点 public Node(St ...

  10. 利用正则表达式判断Java中的秒钟、分钟、小时、日、月是否符合规则

    // 定义校验规则 Pattern patRule = Pattern.compile("判断规则"); // 校验结果 patRule.matcher("判断的对象&q ...