[英]Can I create a reference to a variable in javascript?
我尝试了以下方法:
$scope.qs = {};
$scope.qh = {};
$scope.qv = {};
var qs = $scope.qs;
var qh = $scope.qh;
var qv = $scope.qv;
$scope.getQuestionHeaders = function () {
var url = '/api/Test/GetQuestionHeaders?id=1';
$http.get(url)
.success(function (data, status, headers, config) {
qh = data.testQuestionHeaders;
qs = qh[0];
我的数据被分配给qs,我可以看到其他字段,如qs.i,qs.q等。但是当我使用chrome开发人员工具时,我注意到没有为$ scope.qs分配任何内容。
那是对的。
你基本上是这样做的:
foo.someProp = 1;
var bar = foo.someProp;
bar = 3;
你期望foo.someProp
是3吗? 如果要更新$scope.qs
引用,则需要直接执行,否则只需更改局部变量引用。 你可以修改qs里面的项目:
qs.foo = 1;
console.log($scope.qs.foo);
你重写变量qh
和qs
,所以他们放弃了以前的引用。 如果要保持两个vars同步,则必须执行此操作:
$scope.qh = qh = data.testQuestionHeaders;
$scope.qs = qs = qh[0];
更新属性不会影响变量引用:
qh.witness = true;
$scope.qh.witness === qh.witness === true; // true
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.