我不知道为什么当我点击提交按钮$scope.result
获取值(由console.log打印出来)但它不会在模板中按{{result}}
打印出任何内容{{countDown}}
angular.module('mean.system').controller('HeaderController', ['$scope', 'Global', $timeout', '$http', '$location', function ($scope, Global, $timeout, $http, $location) {
$scope.findFriend = function() {
$scope.result = "submit button is clicked";
console.log($scope.result); //submit button is clicked
}
$scope.countDown = 10;
var timer = setInterval(function(){
$scope.countDown--;
$scope.$apply();
}, 1000);
}]);
1}}仍然可以正常工作。如何修复?,谢谢
SCRIPT:
<div data-ng-controller="HeaderController">
<div> {{countDown}} </div>
<form ng-submit="findFriend()">
<input type="email" ng-model="friendEmail">
<input type="submit" value="Find">
</form>
</div>
<section data-ng-controller="HeaderController">
<div> Confirm: {{result}} </div>
<div> {{countDown}} </div>
</section>
HTML:
{{1}}
答案 0 :(得分:0)
这是你的问题,除了之前的评论,你使用的是两个控制器,还有你的初始文件外面有控制器,那么这就超出了范围。
你想要做的就是放在里面。这就是它应该如何与一个显示这适合你的小提琴一起看。
<div ng-controller="MyCtrl">
<div>{{countDown}}</div>
<form ng-submit="findFriend()">
<input type="text" ng-model="friendEmail" />
<input type="submit" value="Find" />
</form>
<div>Confirm: {{result}}</div>
<div>{{countDown}}</div>
</div>
http://jsfiddle.net/HB7LU/1792/
要注重细节,请务必自行关闭标签,这样可以更好地形成HTML。
为了能够在不同控制器之间传递变量,您可以使用注释中提到的服务来完成,这是一个很好的简单示例: https://gist.github.com/exclsr/3595424
干杯。