从我在 coffeescript 中的视图访问私有函数

Accessing a private function from my view in coffeescript

最初我有工作代码,我将我的函数附加到作用域,以便可以从我的视图访问变量。但是,我得到了一些反馈,将其设置为私有函数会更好(并且更喜欢),因为我在模板中引用的唯一 属性 只是 id。原因是范围已经附加了太多的功能,这使得应用程序比它需要的更重。

问题是我是否需要将实际的 属性 本身附加到范围以便从视图访问它?我知道 $scope. 是使函数在视图中可访问的原因,但我仍然不清楚私有函数的工作原理。这是我的代码:

# private function inside controller
setCurrentOrderId = () ->
  now = moment().format("YYYY-MM")
  currentOrder = (_.find($scope.orders, (order) -> moment(order.scheduled_at).format("YYYY-MM") == now)) || {}
  $scope.currentOrderId = currentOrder.id

// view
<a ng-if="currentOrderId" href="/admin/orders/{{currentOrderId}}">
  <p class="center-text">Adjust Add-Ons</p>
</a>

** setCurrentOrderId() 在 init() 之前定义的范围内被调用,以防您想知道它是如何设置的

我想我不清楚将 currentOrderId 设置为 $scope 是否会使函数保持私有 - 也许我对此过于敏感。还在尝试完全理解 coffeescript - 以及真正的 js(我更喜欢 ruby 和节点)

已经推送此代码并在生产中看到它,可以确认该功能仍然是私有的