gpt4 book ai didi

javascript - angular.copy() 在尖括号 {{}} 内不起作用

转载 作者:行者123 更新时间:2023-11-30 15:30:50 25 4
gpt4 key购买 nike

我在 Controller 中使用“as vm”语法。我使用 angular.copy() 将一个数据结构复制到一个临时数据结构中。

angular.copy(vm.data, vm.tempData = [])

但是,我想将这段代码移到模板 View 中,这样我就不必依赖 Controller 函数调用了。这是因为当我重写代码时,我不需要在 Controller 中也重写代码。

{{vm.temp = []}}                          //works
{{vm.temp = vm.data}} //works
{{vm.temp = angular.copy([])}} //does not work
{{vm.temp = angular.copy(vm.data)}} //does not work, I need this or
{{angular.copy(vm.data, vm.temp = [])}} //does not work, I need this

我做错了什么?

最佳答案

这个逻辑应该在 Controller 中完成,这就是 Controller 的作用。但要回答你的问题,来自 angular docs on expressions :

Context: JavaScript expressions are evaluated against the global window. In AngularJS, expressions are evaluated against a scope object

这意味着它试图在表达式中的 $scope 对象下寻找 angular 定义。所以要做你想做的,你必须在 Controller 中这样做:

$scope.angular = angular;

关于javascript - angular.copy() 在尖括号 {{}} 内不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42263044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com