ich bin neu im signalR. Was ich tue, ist eine einfache Anwendung zu schaffen, die Namen db und Display-Client hinzufügen, aber ich eine Störung erhalte hier Code meines AngularJS"Eigenschaft 'client' undefined" angularJS mit SignalR kann nicht gelesen werden
myApp.controller('firstController', function ($scope, $http) {
$scope.saveName = function() {
$http.post("/Name/saveName/", { userName: $scope.name }).then(function (response) {
$scope.loadNames();
})
}
$scope.loadNames = function() {
$http.get("/Name/getName/").then(function (response) {
$scope.nameList = response.data;
})
}
$scope.loadNames();
$scope.hub = $.connection.myHub;
$scope.notify = function() {
$scope.hub.client.UserAddHub = function (name) {
$scope.$apply(function() {
$scope.nameList.push(name);
})
}
$.connection.hub.start();
}
$scope.notify();
});
das ist „Eigentum‚Kunden‘undefinierter kann nicht lesen“, was ich schreibe auf Server-Seite
private static IHubContext userHubContext = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
operations op = new operations();
op.save(userName);
userHubContext.Clients.All.UserAddHub(userName);
und das ist mein hubclass
[HubName("myHub")]
public class MyHub : Hub
{
}
ich etwas fehle. Irgendein Vorschlag? Vielen Dank.
Fügen Sie nach Ihrer $ scope.loadNames() - Zeile eine console.log() hinzu, um zu sehen, welche (wenn überhaupt) $ scope.nameList füllt – rrd
das bekomme ich in der Konsole angular.js: 14328 TypeError: Die Eigenschaft 'client' von undefined kann nicht unter ChildScope gelesen werden. $ Scope.notify (myScript.js: 20) –
Ich weiß nicht viel über SignalR, aber Ihr $ scope.hub ist null. Vergeuden Sie nicht Ihre Zeit mit einem Blick "client" .May be $ .connection.myHub funktioniert nicht richtig.Wenn Sie es überprüfen möchten, schreiben Sie einfach $ scope.hub = {}; dann wird es sagen UserAddHub ist undef – jitender