gpt4 book ai didi

javascript - 使用 Coffeescript 设置 AngularJS Controller 属性不能是最后一行

转载 作者:行者123 更新时间:2023-11-28 00:28:35 24 4
gpt4 key购买 nike

我正在使用 Coffeescript 并尝试定义一个 Controller ,它将使用“HomeController as homeCtrl”语法。

angular.module('myApp.controllers',[]).controller("HomeController", ->

@someArray = []

# return
)

这已被破坏 - scope.homeCtrl 设置为 [] 而不是对象 {someArray: []}。我意识到这是因为 Coffeescript 自动返回函数的最后一行,因此转换后的 return this.someArray = [] 返回该函数的 [] 。我可以通过取消注释裸露的 return 命令,甚至诸如 return true@baz='foobar' 之类的命令来解决此问题。但真正奇怪的部分是,只有当函数的最后一行返回一个数组时,才会出现困惑。这是怎么回事?

最佳答案

这个问题简直要了我的命!它实际上不仅仅是数组。只要养成在 Controller 末尾返回的习惯即可。

编辑:更具体一些。它的 Angular 使用 new 关键字将函数作为构造函数调用。构造函数行为按照 This SO Post 中的指定进行指定。

关于javascript - 使用 Coffeescript 设置 AngularJS Controller 属性不能是最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29236009/

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