AngularJS 希伯来语日期转换器
AngularJS Hebrew Date Converter
我正在制作一个简单的希伯来语日期转换器 AngularJS 使用 Hebcal 希伯来语日期 API。
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)转换为 return HTML -- 试图让它显示在输入字段。我试过将 div 与 ng-bind 一起使用,但我显然遗漏了一些东西。 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>
我正在制作一个简单的希伯来语日期转换器 AngularJS 使用 Hebcal 希伯来语日期 API。
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)转换为 return HTML -- 试图让它显示在输入字段。我试过将 div 与 ng-bind 一起使用,但我显然遗漏了一些东西。 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>