我是angular.js
的新手,并且$scope
在 Controller 内部的函数中不起作用......
<div>{{logMsg}}</div>
<script type="text/javascript">
angular.module("app",[] ).controller("myController", function($scope){
$scope.onConnect = function(status){
$scope.logMsg = "connecting...";
}
function onMessage(msg) {
console.log('message');
$scope.logMsg = "message...";
}
});
</script>
显示connecting...
,但不显示message...
。但我在控制台中收到了消息
。我做错了什么。提前致谢。
最佳答案
在本例中,$scope 超出范围
<script type="text/javascript">
angular.module("app",[] )
.controller("myController", function($scope){ <- scope of $scope is from here
$scope.onConnect = function(status){
$scope.logMsg = "connecting...";
}
}); <- to here
function onMessage(msg) {
console.log('message');
$scope.logMsg = "message..."; <- no $scope here
}
</script>
解决方案是按照onConnect的方式编写onMessage。或者将 $scope 分配给另一个不推荐的变量。
关于javascript - 将作用域传递给函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39244519/