查看:
<ion-view cache-view="false" view-title="Ustawienia" >
<ion-content ng-controller="AccountCtrl">
<div class="list">
<label class="item item-input item-floating-label">
<span class="input-label">Adres serwera</span>
<input type="text" placeholder="Adres serwera">
</label>
<label class="item item-input item-floating-label">
<span class="input-label">Klucz API</span>
<input type="text" ng-model="apikey" placeholder="Klucz API">
</label>
</div>
<div class="padding">
<button ng-click="scan()" class="button button-block button-energized">
Skanuj Kod
</button>
<button class="button button-block button-positive">Zapisz</button>
</div>
</ion-content>
</ion-view>
控制器:
.controller('AccountCtrl', function($scope) {
/* $scope.settings = {
enableFriends: true
};*/
$scope.apikey = '';
//scan
$scope.scan = function () {
//$scope.apikey.value = "test";
cordova.plugins.barcodeScanner.scan(
function (result) {
$scope.apikey= result.text;
},
function (error) {
alert("Błąd podczas skanowania!");
}
);
};
console.log($scope.apikey);
});
扫描后输入值不会改变。 如果我在菜单输入值更改中更改选项卡。 任何刷新问题还是什么? 扫描更改输入值后我想要。
答案 0 :(得分:1)
您必须使用$scope.apply
包装代码,因为框架需要执行适当的范围生命周期。
$scope.scan = function () {
//$scope.apikey.value = "test";
cordova.plugins.barcodeScanner.scan(
function (result) {
$scope.apply(function() {
$scope.apikey = result.text;
});
},
function (error) {
alert("Blad podczas skanowania!");
}
);
};
您可以在official documentation中了解更多相关信息。