2015-10-16 94 views
0

我是Angular的新成員。我試圖從Angular控制器獲取數據到Laravel Blade中。由於某種原因,它不起作用。無法在Laravel Blade視圖中獲取角度範圍數據

socket.io部分正在工作。我在$scope.message上做過console.log,它在那裏。

所以問題出在Angular代碼和Laravel刀片之間。我的代碼是:

<body ng-app="app"> 
<div ng-controller="AppCtrl"> 
<input id="auth_id" type="hidden" value="{{ Auth::user()->id }}" /> 
<h1>New Users</h1> 
<ul> 
    <li ng-repeat="message in messages"> 
    @{{ message.body }} 
    </li> 
</ul> 
</div> 
<script src="{{ asset('/js/socket.io.js') }}"></script> 

<script> 
var app = angular.module('app', []) 
    .controller('AppCtrl', function ($scope){ 
     var socket = io('http://192.168.10.10:3000'); 
     $scope.id = document.getElementById('auth_id').value; 
     socket.on("user."+ $scope.id + ":App\\Events\\EventDeletedOrEditedBroadcast", function(data) { 
      $scope.messages = data.message; 
     }); 
    }); 
</script> 
</body> 

在此先感謝。

+0

我認爲需要由socket.on稱爲數據這種方法外返回到$範圍。我只是不知道如何 – Sanjoy

回答

0

您在範圍內聲明的變量是不是你想要的存取權限

$ scope.messages

@ {{消息}}

那個S

+0

我相信'消息'是指ng重複消息 – BatteryAcid

+0

哦對不起,我的壞 – WeskerMisc

0

這是至極相同問題在於綁定;確保消息位於$範圍內。

檢查:<input type="text" ng-model="test">

在控制器:

$ scope.test = data.message(任何字符串);

如果有效,那肯定會有一個具有約束力的問題。

0

我知道是一種舊的問題,我很新的這一切的東西(laravel,角等),但我想你要找的是這樣的:

爲了得到角範圍在這裏工作

<li ng-repeat="message in messages"> 
@{{ message.body }} 
</li> 

,並自 「{{」 「}}」 所使用的laravel,你必須定義另一種方式來獲得的範圍,通過使用$ interpolateProvider,這樣

var app = angular.module('app', []); 
app.config(config); 
config.$inject = ['$interpolateProvider']; 
function config($interpolateProvider){ 

$interpolateProvider.startSymbol('<<'); 
$interpolateProvider.endSymbol('>>'); 
} 

所以,那麼,你改變了@ {{

<li ng-repeat="message in messages"> 
<<message.body>> 
</li> 

希望它可以幫助別人