我有问题我尝试在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;)开始。
答案 0 :(得分:0)
product: products
- 您可能传递的是一系列对象而不是单个对象。如果是这种情况,请更改服务器上的res.render
调用以仅传递1个产品,或者更改客户端代码以期望数组并使用类似ngRepeat的内容来迭代它们。
答案 1 :(得分:0)
你不需要productView功能,只需尝试
<body ng-controller="productsController" ng-init="product='<%= product %>'">
{{ product.title }}
{{ product.price }}