我们可以使用脚本标记内范围中定义的角度变量,如下所示。
HTML 代码:
<div ng-controller="AngularCtrl">
<script>
alert($scope.user_name);
</script>
</div>
JS CODE:
function AngularCtrl($scope){
$scope.user_name = 'John';
}
我只是得到“$scope 未定义”。有人可以帮助我解决我在这里做错的事情吗?
不,你不能。$scope
仅定义inside有角度的,即在你的范围内AngularCtrl
-功能。有多种方法可以从外部访问角度范围,但这通常是不好的做法,并且表明您没有正确使用 Angular。
一种更有角度的方法来完成您正在尝试的事情是将警报作为控制器逻辑的一部分:
function AngularCtrl($scope) {
$scope.user_name = 'John';
$scope.sayHi = function(){
alert('Hi ' + $scope.user_name);
}
}
然后您可以使用各种角度技术(演示在这里 http://jsfiddle.net/sveinatle/WqSGR/1)来称呼它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();
}
希望这些例子能够鼓舞人心,但你真正应该做什么取决于你真正想要实现的目标。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)