首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角赋值“双向”,小虫?

角赋值“双向”,小虫?
EN

Stack Overflow用户
提问于 2013-11-05 23:35:12
回答 1查看 49关注 0票数 0

在我的html中,我有一个数组。这是因为我用Django模板呈现它,而且很方便。

代码语言:javascript
复制
<script type="text/javascript"> foo = ["Python", "Marketing", "Start-ups", "business"]
</script>

在具有指令代码的directive.js中,我有:

代码语言:javascript
复制
$scope.foo = foo; // so it takes the data and the global value from the template
$scope.foo.push('wrong'); // let's add a value

$scope.reset = function(){
    $scope.foo = foo; // rebind with the global value
    console.log(foo)
}

当我记录foo时,我得到了["Python", "Marketing", "Start-ups", "business", "wrong"]

现在,我尝试了相同的代码,省略了$scope.foo = foo;。当我使用reset()时,数组是正确的数组["Python", "Marketing", "Start-ups", "business"]

那是什么巫术?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-06 00:19:30

我还是不太明白你的问题,但我要试一试。

如果你这样做了

代码语言:javascript
复制
$scope.foo = foo;

您不是在复制foo并将其分配给$作用域. foo --$作用域.foo现在引用foo对象。因此,如果将项添加到foo,也将向$scope.foo添加项,反之亦然。

请注意,这适用于对象,而不是原语(字符串、ints等)。

这就是javascript的工作方式--它与angularjs本身无关。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19801252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档