关于angularjs中constants的问题。我在app.js中创建了以下常量:

 ...     angular
        .module('blocTime', ['firebase', 'ui.router'])
        .config(config)
        .constant('STOP_WATCH', {
          "workTime": 1500,
          "breakTime": 300
        });
})();


我在指令中注入了常量,如下所示:

(function() {
    function clockTimer($interval, $window, STOP_WATCH) {
        return {
            templateUrl: '/templates/directives/clock_timer.html',
            replace: true,
            restrict: 'E',
            scope: {},
            link: function(scope, element, attributes) {

                console.log(STOP_WATCH.workTime); ...
...
 angular
        .module('blocTime')
        .directive('clockTimer', clockTimer);


我可以从我的指令中控制台记录常数。但是,我的观点不是渲染常量。 HTML:

<div>
  <div class="stop-watch">{{ STOP_WATCH.workTime }}</div>


它以未定义的形式返回。关于为什么或如何使其在视图中显示的想法?谢谢

最佳答案

弄清楚了。在我的指令中,我必须添加scope.STOP_WATCH = STOP_WATCH

(function() {
    function clockTimer($interval, $window, STOP_WATCH) {
        return {
            templateUrl: '/templates/directives/clock_timer.html',
            replace: true,
            restrict: 'E',
            scope: {},
            link: function(scope, element, attributes) {

scope.STOP_WATCH = STOP_WATCH;
...

关于javascript - 成功注入(inject)后在指令 View 中显示常量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39431674/

10-16 06:55