我正在尝试使用 ng-init 设置 $scope 属性的值,但无法在控制器的 javascript 中访问该值。我究竟做错了什么?这是一个小提琴:http://jsfiddle.net/uce3H/ http://jsfiddle.net/uce3H/
markup:
<body ng-app>
<div ng-controller="testController" >
<input type="hidden" id="testInput" ng-model="testInput" ng-init="testInput='value'" />
</div>
{{ testInput }}
</body>
javascript:
var testController = function ($scope) {
console.log($scope.testInput);
}
在 javascrippt 中,$scope.testInput 未定义。不应该是“价值”吗?
您正尝试在 Angular 完成分配之前读取设置值。
Demo:
var testController = function ($scope, $timeout) {
console.log('test');
$timeout(function(){
console.log($scope.testInput);
},1000);
}
理想情况下你应该使用$watch
按照@Beterraba的建议摆脱计时器:
var testController = function ($scope) {
console.log('test');
$scope.$watch("testInput", function(){
console.log($scope.testInput);
});
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)