![](/img/trans.png)
[英]How do I return true/false based on the function to HTML and set the disabled value?
[英]How do I use angular or javascript to display value in html based on true/false return?
注意:下面的代码只是逻辑,因此没有定义参数。 虽然它们是在我所在的同一个javascript文件中定义和主动使用的。
我是javascript / angularjs的新手(我甚至不知道这是什么代码)而且截至目前,由于语法和其他所有内容,它真的让我变成了一个曲线球。 我在我的dateTimeService.js文件中有一个main函数,它返回另一个函数,该函数根据if store是使用下面的逻辑打开还是关闭来返回true / false值。
app.factory("dateTimeService", function() {
return {
isHelperOpen: function(hoursString) {
if (openTime <= nowTime && nowTime <= closeTime)
return true;
else
return false;}
}
}
如何根据其中一个函数返回的true / false值显示“Open”或“Closed”等值? html是如何显示的? 我是否创建了另一个功能来执行此操作? 任何帮助表示赞赏..提前致谢!
<div class="availability">{{isHelperOpen(item)}}</div> --this is my long shot
我建议使用角度滤波器来做这样的事情。 它使您的渲染值与您的数据值分开,它还有助于保持DOM和视图控制器更清洁:
HTML
<div class="availability">{{item | helperOpenFilter}}</div>
角度滤波器
.filter( 'helperOpenFilter', function(dateTimeService){
return function (obj){
return dateTimeService.isHelperOpen(obj) ? 'Open' : 'Closed';
}
}
您可以使用ng-if:
<span ng-if="isHelperOpen(foo)">Open</span>
<span ng-if="!isHelperOpen(foo)">Closed</span>
或者你可以尝试:
<span ng-show="isHelperOpen(foo)">Open</span>
<span ng-hide="isHelperOpen(foo)">Closed</span>
或者您可以使用过滤器。
假设您的应用程序已正确引导并且您可以通过控制器调用您的服务,这里有一个非常简化的小提示,可以演示您想要做什么。
http://jsfiddle.net/90hozqr1/1/
HTML:
<body ng-app="myApp">
<div>
<div ng-controller="MyController">
<div>
<span>{{callServiceWith(true) | displayBool}}</span>
<span>{{callServiceWith(false) | displayBool}}</span>
</div>
</div>
</div>
</body>
Javascript:
var myApp = angular.module("myApp", []);
myApp.factory("dateTimeService", function() {
return {
isHelperOpen: function(hoursString) {
return hoursString
}
}
})
myApp.controller("MyController", function($scope, dateTimeService) {
$scope.callServiceWith = function(bool){
return dateTimeService.isHelperOpen(bool);
}
})
myApp.filter("displayBool", function(){
return function(input) {
if(input) {
return "Open"
} else {
return "Closed"
}
}
})
需要注意的是,调用服务的范围中有一个函数: callServiceWith
,它是从模板中调用的。 输出通过名为displayBool
的自定义过滤器运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.