如何显示节点发送的对象的值

时间:2017-06-26 12:26:55

标签: angularjs node.js pug

我有问题我尝试在angularjs中通过init()放置nodejs的值,后来我把它放到$ scope.product当我尝试显示时遇到问题:  节点:

 return res.render('product/product', { title: 'Express', product: products });

角:

<body ng-controller="productsController" ng-init="productView('<%= product %>')">
        <% include ../share/header.ejs %>

{{ product.title }}
{{ product.price }}
  </body>

控制器:

$scope.productView = function (product) {
    $scope.product = JSON.parse(product);
    console.log(product);
};
  

错误:[$ parse:syntax]语法错误:令牌&#39; bf&#39;在表达式[productView(&#39; {_id:5950c8902a76e81b5cc56a6f,标题:&#39; bf&#39;,价格:7,__ v:0}&#39;)]的第55栏是意外的,期待[)]从[bf&#39;,价格:7,__ v:0}&#39;)开始。

2 个答案:

答案 0 :(得分:0)

product: products - 您可能传递的是一系列对象而不是单个对象。如果是这种情况,请更改服务器上的res.render调用以仅传递1个产品,或者更改客户端代码以期望数组并使用类似ngRepeat的内容来迭代它们。

答案 1 :(得分:0)

你不需要productView功能,只需尝试

<body ng-controller="productsController" ng-init="product='<%= product %>'">

{{ product.title }}
{{ product.price }}