我将值提供程序注入到我的控制器中并获得了一个对象,但是当我尝试使用.toString()
,String()
或任何其他方法读取该对象时,我只能在浏览器或终端上获取[Object object]
。我错过了什么吗?
(function () {
angular
.module("myApp", [
'ngRoute'
]);
})();
(function () {
angular.module("myApp").constant('myValue', 3)
})();
(function () {
angular
.module("myApp")
.controller('AllCtrl', ['myValue', setHome]);
function setHome(myValue) {
console.log("Value: " + myValue);
}
})();

答案 0 :(得分:1)
当您从模板引擎(如Razor或ejs)传递对象时,需要使用对象的原始格式。
例如,在Razor中,它是.value("myValue", @Html.Raw([JSON serialized model]))
。
在ejs中,它将是.value("myValue", <%- [JSON serialized object] %>)
// *some .js file*
(function () {
angular
.module("myApp", [
'ngRoute'
]);
})();
// *in your .ejs file*
(function () {
// for ejs
angular.module("myApp").constant('myValue', <%- jsonObject %>);
// for Razor
angular.module("myApp").constant('myValue', @Html.Raw(jsonObject));
})();
// *in another .js file*
(function () {
angular
.module("myApp")
.controller('AllCtrl', ['myValue', setHome]);
function setHome(myValue) {
console.log("Value: " + myValue);
}
})();