angular点滴,界面上ng-model绑定的值和scope中的值不一致

js代码:

(function(window, angular){
	
    var module = angular.module("indexModule",[]);
					
    module.controller('indexController',['$rootScope','$scope',function($scope){
	    $scope.address = "1";
											
	    $scope.showAddress = function(){
		alert($scope.address);
	    }
	}]);
}(window, angular))

html代码:

<body ng-app="indexModule" ng-controller="indexController">
    <input type="text" ng-model="address"/>
    <label>{{address}}</label>	
    <button ng-click="showAddress()">show address</button>
</body>

你会发现,改变输入框里面的内容,在点击按钮,address的值还是1,但是界面上的label却和输入框的值一致 ……

感觉界面上的address和scope里面的address不是一个东西

问题出在controller的定义上,我引注入两个对象:'$rootScope','$scope',但是我只使用了一个:$scope,我以为angular会根据名字来传入对应的对象,其实人家是按顺序来的,第一个参数是$rootScope,第二个是$scope,所以,其实我在controller里面操作的$scope是$rootScope

呼,一个晚上都是泪……

转载于:https://my.oschina.net/LinBandit/blog/607306

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值