【发布时间】:2018-02-07 22:39:20
【问题描述】:
我正在使用 Rails 开发一个也使用 AngularJS 的项目。 首先,我有一个名为 @resource 的变量,其中包含结束时间
<input style="display:none" ng-model="remainingTime" ng-init="remainingTime = <%= (resource.available_until.to_f - DateTime.now.to_f).to_i %>">
获取X任务的剩余时间,显示如下(不显示无)。
获得的值我必须从控制器访问它。
在控制器中我有以下内容:
function UserEvaluationsNewCtrl ($log, $scope) {
console.log($scope.remainingTime)
}
当我想从控制器访问时,变量显示“未定义”:/
任何帮助都是有用的。谢谢!!!
已编辑:
剩余时间=-39698
-负数是正确的-
编辑 2: 完整的控制器:
;(function () {
'use strict';
// Define controller
function UserEvaluationsNewCtrl ($log, $scope) {
$log.debug('UserEvaluationsNewCtrl: Hi')
var vm = this
vm.data = angular.extend({}, rails_data || {})
vm.evaluationData = vm.data.resource
vm.evaluationDataStringified = ''
$scope.$watch(function(){
return vm.evaluationData
}, function(newValue, oldValue){
vm.evaluationDataStringified = angular.toJson(newValue)
$log.debug('ResourcesNewCtrl: $watch vm.evaluationDataStringified: to JSON output:', vm.evaluationDataStringified)
}, true)
console.log($scope)
}
// Inject dependencies
UserEvaluationsNewCtrl.$inject = ['$log', '$scope']
// Register controller
angular
.module('app.controllers.user_evaluations.new', [])
.controller('UserEvaluationsNewCtrl', UserEvaluationsNewCtrl)
})();
【问题讨论】:
-
登录
$scope会得到什么? -
您能否将您的
console.log(test)行更改为console.log($scope)并使用您获得的输出更新问题 -
@Subash 好的!已编辑!
-
@Subash PD:负数是正确的
-
试试
console.log($scope.formCtrl.remainingTime)
标签: javascript ruby-on-rails angularjs