Прошу прощения за этот простой вопрос. Я разбирал другие вопросы и до сих пор не могу заставить его работать.
У меня есть функция, возвращающая некоторые пары ключ/значение
function(data){
console.log(data.message);
}
Возвращает...
Object {name: "mpierce486", body: "asfsf", time: "1 second ago"}
У меня есть следующее, когда вы не заходите в консоль...
$scope.message = data.message
Наконец, вот разметка. Я использую приложение Laravel, поэтому я избегаю {{с @. Ничего не появляется, и я знаю, что это простая ошибка. Пожалуйста помогите! Благодарю!
<div ng-app="myApp" ng-controller="messageCtrl">
<div ng-repeat="x in message" class="main-user-post">
<h1>@{{ x.body }}</h1>
</div>
</div>
ваша переменная сообщения - это объект, а не массив. Таким образом, в вашей итерации x примет значение каждого свойства объекта (тело, имя, время).
Поэтому либо используйте другой подход, либо преобразуйте свое сообщение в массив:
$scope.message = [data.message];
Я не думаю, что вы можете сделать ng-repeat
на объекте. Поскольку он уже является объектом, а не массивом, вы можете получить к нему доступ напрямую, без ng-repeat.
<div ng-app="myApp" ng-controller="messageCtrl">
<div class="main-user-post">
<h1>@{{ message.body }}</h1>
</div>
</div>
Создайте массив объектов, как показано ниже. JSFiddle - https://jsfiddle.net/L7k6g7ua/ для справки wrt AngularJs -
Надеюсь это поможет!
<body ng-app="SampleApp">
<div ng-controller="messageCtrl">
<div ng-repeat="m in message" class="main-user-post">
<h1>{{m.body}}</h1>
</div>
</div>
</body>
var sampleApp = angular.module("SampleApp", []);
sampleApp.controller('messageCtrl', function($scope) {
var myObject = {
name: "mpierce486",
body: "asfsf",
time: "1 second ago"
};
var myArray = [];
myArray.push(myObject);
$scope.message = myArray;
});
вы можете выполнять итерацию по свойствам объекта с такими угловыми значениями:
<div ng-app="myApp" ng-controller="messageCtrl">
<div ng-repeat="(key, value) in message" class="main-user-post">
<h1>@{{value}}</h1>
</div>
</div>
ng-repeat="(key, val) in object"
- но я не думаю, что OP этого хочет.