我不明白,程序刚执行,第39行就被执行两次,然后将input文本框内容改变时,39行也会执行,请大家帮忙解释下原理,谢谢!
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="angular.min.js"></script>
</head>
<body ng-app="my-app">
<div ng-controller="firstController">
<input type="text" ng-model="name" />
<p ng-bind="name"></p>
<button ng-click="passData()">按钮</button>
{{person.say()}}
</div>
<hr />
<div ng-controller="secondController">
{{name}}
</div>
<script>
var app = angular.module('my-app', []);
app.run(['$rootScope', function($rootScope){
$rootScope.name = 'zhangsan';
}])
app.controller('firstController', ['$scope', '$rootScope', function($scope, $rootScope){
$scope.name = $rootScope.name;
$scope.passData = function(){
console.log('click.........');
$rootScope.name = $scope.name;
}
$scope.person = {
name : 'zhangsan',
age: 30,
say: function(){
console.log("I'm "+this.name+", I'm "+this.age);
return "I'm "+this.name+", I'm "+this.age;
}
}
function test(){
console.log(11111111111);
}
test();
$scope.person.say();
}])
app.controller('secondController', ['$scope', '$rootScope', function($scope, $rootScope){
//$scope.name = $rootScope.name;
}])
</script>
</body>
</html>
http://www.cnblogs.com/freefish12/p/5808099.html
http://blog.csdn.net/w329300817/article/details/51970307
你写了两边,页面里面执行一次, controller里面也调用一次 $scope.person.say() {{person.say()]}