angularjs - 为什么警报框中的 $scope 没有变化? ( Angular JS)

标签 angularjs

我试图理解这种行为: 当我更改输入时, View 也会更改,但是当我单击按钮时,警报框不会更改 $scope.firstName。谢谢你给我建议。 问候

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.firstName = "John";
    $scope.lastName = "Doe";
    var test=$scope.firstName;
    $scope.test=function(){    	
    	alert(test);    	
    };
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
    First Name: <input type="text" ng-model="firstName"><br>
    Last Name: <input type="text" ng-model="lastName"><br>
    Full Name: {{firstName + " " + lastName}}
    <button ng-click="test()">Click</button>
</div>

最佳答案

目前,当您启动 Controller 时,您正在做三件事:

$scope.firstName = "John";
$scope.lastName = "Doe";
var test=$scope.firstName;

因此,您的 var 测试仅在启动 Controller 时初始化,而不是在启动函数时初始化。你的函数,只打印这个值。

如果您想打印示波器的当前版本,您需要执行以下操作:

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
  $scope.firstName = "John";
  $scope.lastName = "Doe";

  $scope.test=function(){       
    alert($scope.firstName);        
  };

});

关于angularjs - 为什么警报框中的 $scope 没有变化? ( Angular JS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30530699/

相关文章:

javascript - 如何通知 AngularJS Jquery 插件所做的更改?

html - Angularjs 到下一页的路由不起作用

css - IOS8 Safari 滚动内容被截断

javascript - 在 angularjs 中获取 json 响应对象的最佳实践

javascript - 如何使用angularjs等待 promise 完成返回值

javascript - Angular源码中的正则表达式

javascript - Google Analytics Mobile APP 日志显示已连接,但实时跟踪显示 0 个用户

javascript - 从 select 标签内的 ng-change 中的选项获取 $index

javascript - Angular SPA 中不需要的页面刷新

javascript - 我可以将一个对象和一个数组放在另一个数组中吗?