AngularJS希伯来文日期转换器



我正在使用Hebcal Hebrew Date API用AngularJS制作一个简单的Hebrew日期转换器。

HTML如下:

<body ng-app="HebrewDate">
    <div class="page-container" ng-controller="DateCtrl">
        <input type="text" ng-model="inputYear" placeholder="Year (YYYY)"/>
        <input type="text" ng-model="inputMonth" placeholder="Month (MM)"/>
        <input type="text" ng-model="inputDay" placeholder="Day (DD)"/>
        <button class="bt bt-achieve" ng-click="url(inputYear, inputMonth, inputDay)">Convert</button>
    </div>
</body>

脚本:

var app = angular.module('HebrewDate', []);
app.controller('DateCtrl', function($scope, $http) {
    $scope.url = function(inputYear, inputMonth, inputDay, outputYear) {
        var dateUrl = "http://www.hebcal.com/converter/?cfg=json&gy=" + inputYear + "&gm=" + inputMonth + "&gd=" + inputDay + "&g2h=1";
        var output;
        $http({
            method: 'GET',
            url: dateUrl
        }).success(function(data, status){
            output = angular.fromJson(data);
            outputYear = output.hy;

        }).error(function(data, status){
            // in case of error, sob. 
        }); 
    }
});

就我而言,我不知道如何获得转换后的日期(例如outputYear)来返回HTML——试图让它显示在输入字段的正下方。我尝试过使用一个带有ng-bind的div,但显然我缺少了一些东西。AngularJS新手,非常感谢您的帮助。谢谢

1)将其添加到您的html:中

{{outputYear}}

2) 删除outputYear作为控制器函数的参数

3) 更改

'outputYear = output.hy;'

'$scope.outputYear = output.hy;'

您在控制器中私下设置变量,而模板无法访问该变量。模板可以访问$scope,因此如果执行$scope.someVar = someValue,则可以在模板中使用(显示)someVar

正如HankScorpio所说,你需要修改如下。

在控制器中:

$scope.outputYear = output.hy;

在你看来,你可以使用你提到的ng-bind,也可以:

<span>{{outputYear}}</span>

最新更新