Angular 价值提供者不工作

Angular value provider not working

我正在将值提供程序注入我的控制器并得到一个对象,但是当我尝试使用 .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);

    }

})();

当您从 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);

    }

})();