我在使用小胡子语法通过其isEnabled
属性禁用按钮时遇到问题。 XML大致如下所示(简化):
<Page loaded="onLoad">
<StackLayout>
<Button class="btn" isEnabled="{{ !isBusy }}"/>
<ActivityIndicator busy="{{ isBusy }}"/>
</StackLayout>
</Page>
在可观察范围内将ActivityIndicator
设置为isBusy
时,我可以成功显示true
,但是:disabled
样式不适用于我的按钮。这是CSS的外观,按钮应从鲜红色变为灰色:
.btn {
color: #FF0000;
border-color: #FF0000;
}
.btn:disabled {
color: #888888;
border-color: #888888;
}
最后我的JS代码看起来像这样。 isBusy
是通过将其设置为true
隐式创建的,因为指示器在适当的时候显示了它,所以可以使用。
const observable = require("tns-core-modules/data/observable");
const ObservableArray = require("tns-core-modules/data/observable-array").ObservableArray;
var someArray = new ObservableArray([]);
var pageData = observable.fromObject({
listItems: someArray,
});
exports.onLoad = function (args) {
const page = args.object;
page.bindingContext = pageData;
doSomething();
}
function doSomething () {
pageData.set("isBusy", true);
// doing something that takes some time
pageData.set("isBusy", false);
}
我怀疑{{ !isBusy }}
语法错误,这很奇怪,因为它可以更早地工作。我最近将我的依赖关系从NativeScript 4.x更新到5.0,也许与问题有关?
(ObservableArray
是我pageData
的一部分,因为我正在动态更新需要填写的列表,该列表也可以按预期方式工作...)
答案 0 :(得分:0)
@Manoj的答案奏效了。
在我的JS文件中,我必须初始化<?php
// create a new cURL resource
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, $smsurl);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// grab URL and pass it to the browser
curl_exec($ch);
// close cURL resource, and free up system resources
curl_close($ch);
?>
:
isBusy
再次感谢!