我试着搜索类似于我的问题,但无法得到任何结果。如果这个问题重复并且已经得到解答,请原谅。
我的HTML有名字和姓氏两个输入字段和一个按钮:
<body ng-app="myApp" >
<div ng-controller="myCtrl">
<input type="text" ng-model="fname"/>
<input type="text" ng-model="lname"/>
<input type="button" ng-click="createObj();" value="Clear Scope"/>
<p>Fname = {{fname}}</p>
<p>Lname = {{lname}}</p>
</div>
这是具有控制器功能我的JS文件:
var myApp = angular.module("myApp", []);
myApp.controller("myCtrl",function($scope){
$scope.fname = "sandeep";
$scope.lname = "nayak";
$scope.createObj= function(){
var obj = {fn:$scope.fname, ln: $scope.lname};
console.log(obj);
$scope.fname = "";
$scope.lname = "";
console.log(obj);
};
});
在createObj
方法中,我创建了一个包含名和姓的对象,然后清除$ scope。
我在清除$ scope之前和之后记录了两次对象。但我没有看到任何区别。
即使在我清除$ scope后,为什么对象仍然相同,因为我在对象中引用$ scope?
你是不是指范围的对象,你是从指定范围的属性到你的对象(这是按值传递) – Chandermani