最初我有工作代码,我将我的函数附加到作用域,以便可以从我的视图访问变量。但是,我得到了一些反馈意见,将它设置为私有函数会更好(也更首选),因为我在模板中引用的唯一属性就是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和节点更好)
答案 0 :(得分:0)
已经推送此代码并将其视为生产中,可以确认该功能仍然是私有的