为了账号安全,请及时绑定邮箱和手机立即绑定

请问AngularJS中的ng-controller是什么?

/ 猿问

请问AngularJS中的ng-controller是什么?

大话西游666 2019-09-04 10:06:12

AngularJS中的ng-controller是什么


查看完整描述

4 回答

?
慕的地6264312

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>test</title>

<script src="angular.min.js"></script>

<script>

var myApp = angular.module("myApp", []);

    myApp.directive('testIt',function(){

        return {

            restrict: 'A',

            scope: false,

            link:function(scope, elm, attr){

                if(scope.$last){

                    elm.css('color','red');

                    scope.myFunction();

                }

            }

        }

    });

    myApp.controller("testCtrl", function($scope){

        $scope.items = [0,1,2,3,4];

        $scope.myFunction = function(){

            console.log('Hello!');

        };

    });

</script>

</head>

  

<body>

<div ng-app="myApp">

  <div ng-controller="testCtrl">

    <ul>

      <li ng-repeat="item in items" test-it >{{item}}</li>

    </ul>   

  </div>

</div>

</body>

</html>

 主要在于12行的scope:false,这个是默认的,其实你不写也是false。这样drective继承了父scope,所以可以调用父作用域的方法,而声明新的scope即scope:{}形式就不会继承了,不过你依然可以用scope.$parent.myFunction()的方式调用。


查看完整回答
反对 回复 2019-09-07
?
慕容3067478

直接就是哦angular.module('app',[]).controller('myCtrl',['$scope',function($scope){
$scope.name = "zs";
$scope.age = 12;
$scope.getAge = function($scope){
return $scope.age;
}
}]);

查看完整回答
反对 回复 2019-09-07
?
BIG阳

A',
scope: false,
link:function(scope, elm, attr){
if(scope.$last){
elm.css('color','red');
scope.myFunction();
}
}
}
});
myApp.controller("testCtrl", function($scope){
$scope.items = [0,1,2,3,4];
$scope.myFunction = function(){
console.log('Hello!');
};
});
</script>

查看完整回答
反对 回复 2019-09-07
?
FFIVE

循环输出列表很多项目在web服务端做,前端做好模版后后端写jsp代码,双方需要紧密合作,分清责任。有些项目由后端提供restful方法,前端用ajax调用自己循环,这种一般是大把的jquery拼字符串,太不直观,有人搞出了js模板,也没好到哪里去。
用AngularJS就爽多了,语法和JSP类似:

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

<!doctype html>
<html ng-app>
<head>
<meta charset="utf-8">
<title>ng-repeat directive</title>
</head>
<body>
<table ng-controller="CartController">
<caption>我的购物车</caption>
<tr>
<th>序号</th>
<th>商品</th>
<th>单价</th>
<th>数量</th>
<th>金额</th>
<th>操作</th>
</tr>
<tr ng-repeat="item in items">
<td>{{$index + 1}}</td>
<td>{{item.name}}</td>
<td>{{item.price | currency}}</td>
<td><input ng-model="item.quantity"></td>
<td>{{item.quantity * item.price | currency}}</td>
<td>
<button ng-click="remove($index)">Remove</button>
</td>
</tr>
</table>

<script src="../lib/angularjs/1.2.26/angular.min.js"></script>
<script>
function CartController($scope) {
$scope.items = [
{name: "雷柏(Rapoo) V500 机械游戏键盘 机械黄轴", quantity: 1, price: 199.00},
{name: "雷柏(Rapoo) V20 光学游戏鼠标 黑色烈焰版", quantity: 1, price: 139.00},
{name: "AngularJS权威教程", quantity: 2, price: 84.20}
];

$scope.remove = function (index) {
$scope.items.splice(index, 1);
}
}
</script>
</body>
</html>

ng-repeat指令生命在需要循环内容的元素上,items和控制器上的变量名对应,item是为数组中单个对象起的别名。$index可以返回当前引用对象的序号,从0开始,另外还有$first、$middle、$last可以返回布尔值,用于告诉你当前元素是否是集合中的第一个中间的最后一个元素。



查看完整回答
反对 回复 2019-09-07

添加回答

回复

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信