你的位置:首页 > Java教程

[Java教程]AngularJS中的ng


 

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