gpt4 book ai didi

javascript - 脚本中的 Angular Scope

转载 作者:可可西里 更新时间:2023-11-01 02:36:31 24 4
gpt4 key购买 nike

我们可以像下面这样在脚本标签内使用范围内定义的 Angular 变量吗?

HTML 代码:

<div ng-controller="AngularCtrl">
<script>
alert($scope.user_name);
</script>
</div>

JS 代码:

function AngularCtrl($scope){
$scope.user_name = 'John';
}

我只是得到“$scope is not defined”。有人可以帮我解决我在这里做错的事情吗?

最佳答案

不,你不能。 $scope 仅定义在 Angular 内部,即在您的 AngularCtrl 函数中。有一些方法可以从外部访问 Angular 范围,但这通常是不好的做法,并且表明您没有正确使用 Angular。

做你正在尝试的事情的一种更 Angular 方法是让警报成为 Controller 逻辑的一部分:

function AngularCtrl($scope) {

$scope.user_name = 'John';

$scope.sayHi = function(){
alert('Hi ' + $scope.user_name);
}
}

然后您可以使用各种 Angular 技术 (Demo Here) 来调用该 sayHi() 函数。一些例子:

响应点击

<div ng-click="sayHi()">Demo clickable - Please click me</div>

在创建/初始化给定元素时自动执行一次

<div ng-init="sayHi()">Demo ng-init</div>

初始化时直接来自 Controller

function AngularCtrl($scope) {

$scope.user_name = 'John';

$scope.sayHi = function(){
alert('Hi ' + $scope.user_name);
}

// Call it
$scope.sayHi();
}

希望这些示例能够鼓舞人心,但您真正应该做什么取决于您真正想要完成的事情。

关于javascript - 脚本中的 Angular Scope,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13836765/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com