как вернуть консольные данные в angularjs

0

Этот журнал консоли работает правильно. Как получить эти данные для html.

ProductController.js

$scope.selectedProduct = function(product)
 {
    console.log(product.post_title);
    console.log(product.ID);
    console.log(product.post_date);
    console.log(product.post_author);
 }

ProductDetails.html

<ion-item class="item widget uib_w_109 d-margins item-button-left" data-uib="ionic/list_item_button" data-ver="0">
        Product Name : {{product.post_title}} <br>
            Product Id : {{product.ID}}<br>
</ion-item>
  • 0
    Вы хотите получить данные с сервера, а затем показать это в HTML?
  • 0
    да это данные с сервера.
Показать ещё 3 комментария
Теги:
angularjs-scope
angularjs-directive

8 ответов

2
Лучший ответ

Вам нужно назначить переменную $ scope,

$scope.selectedProduct = function(product)
 {
    $scope.product.post_title = product.post_title;
    $scope.product.ID = product.ID;
    ........
 }

если вы хотите нажать на массив,

$scope.products =[];
$scope.products.push($scope.product);
  • 0
    'undefined' is not an object (evaluating '$scope.product.post_title = product.post_title') Теперь у меня есть эта ошибка
  • 0
    вам нужно сначала объявить переменную $ scope.poduct, что-то вроде этого: $ scope.product = {};
Показать ещё 5 комментариев
2

Назначьте эти значения в переменную области видимости и попробуйте вызвать эти переменные области видимости в HTML. Изображение 174551

  • 0
    Как это сделать ?
  • 0
    $ scope.selectedProduct = function (product) {$ scope.productPostTitle = product.post_title; $ scope.productID = product.ID; }
Показать ещё 5 комментариев
1

Просто установите продукт, переданный как параметр, в переменную области видимости, затем привяжите или используйте переменную области видимости в HTML.

вот рабочий плункер: https://plnkr.co/edit/caqLK8oOIukeNuPQed3h?p=preview

  $scope.product = {};
  $scope.selectedProduct = function(product) {
    $scope.product.post_title = product.post_title;
    $scope.product.ID = product.ID;
    $scope.product.post_date = product.post_date;
    $scopee.product.post_author = product.post_author;

  };

в кнопке Plunker получает продукт с сервера и вызывает функцию для установки продукта. поскольку plunker не имеет запроса сервера, продукт, который будет извлечен, определяется статически.

  • 0
    Это не работает мой друг. Этот плункер тоже не работает
  • 0
    извините, были проблемы с версией, пожалуйста, попробуйте еще раз, я обновил plunker, запустите его и нажмите кнопку, чтобы получить значения.
Показать ещё 10 комментариев
0

Вам нужно будет сохранить значения в переменной $ scope, а также указать атрибут ng-controller в родительском элементе. Вот полный код с примером

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js"></script>
<div ng-app="app1">
	<div ng-controller="ctrl1">
		Employee Info<br/>
		<strong>Id:</strong> {{employeeId}}<br/>
		<strong>Name:</strong> {{employeeName}}
	</div>
</div>

<script>
var app = angular.module('app1', []);
app.controller('ctrl1', function($scope) {
    $scope.employeeId= "E001";
    $scope.employeeName= "John Doe";
});
</script>
  • 0
    Я не могу получить это ...
0

Если у вас есть одно значение, то вы можете получить доступ к этому, используя [0] расстроить иначе, вы можете сделать это, используя ng-repeat.

Пожалуйста, проверьте следующий код.

angular.module('appTest', [])
  .controller("repeatCtrl", function($scope) {
    $scope.items = [{
      Name: "Soap",
      Price: "25",
      Quantity: "10"
    }, {
      Name: "Bag",
      Price: "100",
      Quantity: "15"
    }, {
      Name: "Pen",
      Price: "15",
      Quantity: "13"
    }];
  
  $scope.result = {};
  $scope.selectProduct = function(product){
    $scope.result = product;
  };
  })
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="appTest">
  <section ng-controller="repeatCtrl">
    <table>
      <thead>
        <tr ng-repeat="item in items | limitTo:1">
          <th ng-repeat="(key, val) in item">
            {{key}}
          </th>
        </tr>
      </thead>
      <tbody>
        <tr ng-repeat="item in items">
          <td ng-repeat="(key, val) in item">
            <a href="#" ng-click="selectProduct(item)">{{val}}</a>
          </td>
        </tr>
      </tbody>
    </table>
    <br/>
    <div>
    Name : {{result.Name}} <br/>
    Price : {{result.Price}} <br/>
    Quantity : {{result.Quantity}}  
      
    </div>
  </section>
  
</body>
  • 0
    Этот код не работает, мой друг
  • 0
    В чем проблема ?
Показать ещё 13 комментариев
0

Просто сделайте это...

$scope.product{

}

$scope.selectedProduct = function(product)
{
    $scope.product.post_title = product.post_title;
    $scope.product.ID = product.ID;
    $scope.product.post_date = product.post_date;
     $scopee.product.post_author =product.post_author;
}

или вы можете просто сделать...

$scope.product{

}

$scope.selectedProduct = function(product)
 {
    $scope.product = product;
 }
  • 0
    'undefined' is not an object (evaluating '$scope.product.post_title = product.post_title') Тогда у меня есть эта ошибка
  • 0
    просто объявите $ scope.product = {} ...... в верхней части этого кода
0

Измените код javascript и html, как показано ниже:

JS

$scope.selectedProduct = function(product){
    return product;
}

HTML

<ion-item class="item widget uib_w_109 d-margins item-button-left" data-uib="ionic/list_item_button" data-ver="0">
    Product Name : {{selectedProduct.post_title}} <br>
    Product Id : {{selectedProduct.ID}}<br>
</ion-item>

С уважением.

  • 0
    Это не работает
  • 0
    Пожалуйста, предоставьте некоторую информацию об ошибке. или может быть создать скрипку, чтобы показать, что вы пытаетесь.
Показать ещё 1 комментарий
0

Начните с объявления переменной "$ scope":

$scope.product = {};

Затем присвойте ему значение в вашей настройке:

$scope.selectedProduct = function(product) {
    $scope.product.ID = product.ID;
   ... 
}

РЕДАКТИРОВАТЬ

Эта скрипка работает, есть ли разница в вашем коде?

  • 0
    'undefined' is not an object (evaluating '$scope.product.post_title = product.post_title') Теперь у меня есть эта ошибка, мой друг
  • 0
    Кажется, что ваш «$ scope» не объявлен, что вы получаете, когда делаете: «console.log ($ scope)»?
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню