比如我在 Controller.rb 里面有个 def test @aa = ['xx','xx','xx'] end
那么我在页面上 <%= @aa %>
那么我怎么传入到 angularjs 的 scope
function AppCtrl($scope, socket){
$scope.aa = [] }
ng-init="aa=<%= @aa %>"
#1 楼 @leopku 那我还需要在 js 里面去申明 aa 吗
不需要了,controller 里直接$scope.aa 用即可
#3 楼 @leopku thx,我还想问下,如果是 JS 呢?
用 json 吧
<script id=‘..' type="text/json" > <%= @aa.to_json %> </script>
http://railscasts.com/episodes/324-passing-data-to-javascript
这需求好奇怪,为什么不用 json api 而是要嵌到页面上……
#7 楼 @aptx4869 json api?
#6 楼 @guyanbiao 赞!已经用上了,直接在 ang 的 controller 里面可以赋值
既然用了 angularjs 做 rich client site 就应该用 respond to json 实现他们之间的数据传输。让前后端分离
#10 楼 @steven_yue 不一定要全做 rich client site,拿来主要是简化一些 JS 的操作