Javascript AngularJs指令给出了未定义的全部时间

Javascript AngularJs指令给出了未定义的全部时间,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我是angularjs指令的新手,我一直在努力让我的指令在scope.durationTimeInput中工作。无论我做什么,durationTimeInput都返回未定义的 (function () { 'use strict'; angular.module('BlurAdmin.theme') .directive('durationInput', durationInput); /** @ngInject */ function durationInput($window)

我是angularjs指令的新手,我一直在努力让我的指令在scope.durationTimeInput中工作。无论我做什么,durationTimeInput都返回未定义的

(function () {
'use strict';

angular.module('BlurAdmin.theme')
    .directive('durationInput', durationInput);

/** @ngInject */
function durationInput($window) {
    var tpl = '<div class="duration_time_input"> \
          <input ng-model="duration_time.hours" type="number" class="hours" placeholder="00" min="0" max="3" step="1" style="width: 45px"> \
        <span class="duration-time-sep">:</span> \
        <input ng-model="duration_time.minutes" type="number"  class="minutes" placeholder="00" min="0" max="59" step="1" style="width: 45px"> \
        </div>';

    return {
        restrict: 'A',
        template: tpl,
        replace: true,
        scope: {
            durationTimeInput: '='
        },
        link: function (scope, element, attrs) {
            console.log(scope);
            console.log(scope.durationTimeInput);
            scope.$watch('durationTimeInput', function (newValue) {
                var duration = moment.duration(newValue, 'minutes');

                scope.duration_time = {
                    hours: duration.hours(),
                    minutes: duration.minutes(),

                }
            });

            scope.$watchCollection('duration_time', function (newTime, oldTime) {
                if(scope.duration_time.hours==0&&scope.duration_time.minutes==0){
                    scope.duration_time.minutes=1;

                }
                scope.lapTimeInput = moment.duration(newTime, 'minutes').asMinutes();

            });
        }
    };
}

})();
(函数(){
"严格使用",;
angular.module('BlurAdmin.theme'))
.指令(“持续输入”,持续输入);
/**@ngInject*/
函数持续时间输入($window){
增值税\
\
: \
\
';
返回{
限制:“A”,
模板:第三方物流,
替换:正确,
范围:{
durationTimeInput:“=”
},
链接:函数(范围、元素、属性){
console.log(范围);
console.log(scope.durationTimeInput);
作用域.$watch('durationTimeInput',函数(newValue){
var duration=时刻持续时间(newValue,'分钟');
scope.duration\u时间={
小时数:持续时间。小时数(),
分钟:持续时间。分钟(),
}
});
范围.$watchCollection('duration\u time',函数(newTime,oldTime){
if(scope.duration\u time.hours==0&&scope.duration\u time.minutes==0){
范围.持续时间\时间.分钟=1;
}
scope.lapTimeInput=moment.duration(newTime,'minutes').asMinutes();
});
}
};
}
})();
我称之为div

<div duration-input="myIndex.duration" id="scheduleDuration"></div>

myIndex.duration是一个变量。

试试看

<div duration-input duration-time-input="myIndex.duration" id="scheduleDuration"></div>

您需要根据定义的范围添加
持续时间输入