我们可以使用在脚本标签内的范围内定义的角度变量,如下所示。
HTML 代码:
<div ng-controller="AngularCtrl">
<script>
alert($scope.user_name);
</script>
</div>
JS代码:
function AngularCtrl($scope){
$scope.user_name = 'John';
}
我只是得到'$scope 没有定义'。有人可以帮我解决我在这里做错的事情吗?
我们可以使用在脚本标签内的范围内定义的角度变量,如下所示。
HTML 代码:
<div ng-controller="AngularCtrl">
<script>
alert($scope.user_name);
</script>
</div>
JS代码:
function AngularCtrl($scope){
$scope.user_name = 'John';
}
我只是得到'$scope 没有定义'。有人可以帮我解决我在这里做错的事情吗?
不,你不能。$scope
仅在Angular 内部定义,即在您的AngularCtrl
-function 内部。有一些方法可以从外部访问角度范围,但这通常是不好的做法,并且表明您没有正确使用 Angular。
做你正在尝试的事情的一个更有角度的方法是让警报成为控制器逻辑的一部分:
function AngularCtrl($scope) {
$scope.user_name = 'John';
$scope.sayHi = function(){
alert('Hi ' + $scope.user_name);
}
}
然后,您可以使用各种角度技术(Demo Here)来调用该sayHi()
函数。一些例子:
<div ng-click="sayHi()">Demo clickable - Please click me</div>
<div ng-init="sayHi()">Demo ng-init</div>
function AngularCtrl($scope) {
$scope.user_name = 'John';
$scope.sayHi = function(){
alert('Hi ' + $scope.user_name);
}
// Call it
$scope.sayHi();
}
希望这些例子能鼓舞人心,但你真正应该做什么取决于你真正想要完成的事情。