我的NodeJs文件中有以下内容。我想在哪里使用cc的值在HTML页面中使用。变量cont
将保留HTML内容。
var cc=[{"keyword":"a","message":"y"}];
var cont= '<!DOCTYPE html><html><body><div ng-app="myApp" ng-controller="reportCtrl"> <table><tr ng-repeat="x in names"><td>{{ x.keyword }}</td><td>{{ x.message }}</td></tr></table></div><script>var app = angular.module("myApp", []);app.controller("reportCtrl", function($scope) {$scope.names= '+ cc +' ;});</script></body></html>';
并编写HTML文件
fs.writeFile('myPage.html', cont, (err) => {
if (err) throw err;
console.log('Saved!');
});
当我打开HTML页面时,我发现cc的值是[Object Object][Object Object](Implicitly converted as string)
。
请建议一种将cc指定给$scope.names
答案 0 :(得分:2)
cc
是一个数组,所以如果你这样做
console.log(cc.keyword);
它将是未定义的,因为它是一个数组,其中一个对象不是一个对象本身,但如果你检查第一个这样的数组元素
console.log(cc[0]);
您将获得第一个数组元素中的对象。
{keyword: "a", message: "y"}
现在你可以做到
console.log(cc[0].keyword);
,结果将是
"a"
在你的情况下,你需要通过每个数组元素循环,像这样
var cc=[{"keyword":"a","message":"y"}];
var outputString = '';
cc.map(function(item){
outputString += item.keyword + item.message;
});
现在使用outputString
作为变量,但您需要在循环中将其格式化为您的需求
答案 1 :(得分:0)
test.js
const fs = require('fs');
var cc=JSON.stringify([{"keyword":"a","message":"y"}]);
var cont= '<!DOCTYPE html><html><body><div ng-app="myApp" ng-controller="reportCtrl"> <table><tr ng-repeat="x in names"><td>{{ x.keyword }}</td><td>{{ x.message }}</td></tr></table></div><script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.10/angular.min.js"></script><script>var app = angular.module("myApp", []);app.controller("reportCtrl", function($scope) {$scope.names= '+ cc +' ;});</script></body></html>';
fs.writeFile('myPage.html', cont, (err) => {
if (err) throw err;
console.log('Saved!');
});
输出:myPage.html(来源)
<!DOCTYPE html><html><body><div ng-app="myApp" ng-controller="reportCtrl"> <table><tr ng-repeat="x in names"><td>{{ x.keyword }}</td><td>{{ x.message }}</td></tr></table></div><script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.10/angular.min.js"></script><script>var app = angular.module("myApp", []);app.controller("reportCtrl", function($scope) {$scope.names= [{"keyword":"a","message":"y"}] ;});</script></body></html>
您似乎没有导入angular.js脚本。
答案 2 :(得分:0)
使用 JSON.stringify(cc [0],null,2)详细了解JSON https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
var cc=[{"keyword":"a","message":"y"}];
var cont= '<!DOCTYPE html><html><body><div ng-app="myApp" ng-controller="reportCtrl"> <table><tr ng-repeat="x in names"><td>{{ x.keyword }}</td><td>{{ x.message }}</td></tr></table></div><script>var app = angular.module("myApp", []);app.controller("reportCtrl", function($scope) {$scope.names= '+ JSON.stringify(cc[0], null, 2) +' ;});</script></body></html>';
答案 3 :(得分:0)
使用JSON.stringify(cc, null, 2)
帮我整理了这个问题。