输入值不更新
Input value doesnt update
查看:
<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);
});
扫描后输入值不变。
如果我更改菜单输入值更改中的选项卡。
任何刷新问题或什么?
我想在扫描后更改输入值。
您必须使用 $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 中阅读更多相关信息。
查看:
<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);
});
扫描后输入值不变。 如果我更改菜单输入值更改中的选项卡。 任何刷新问题或什么? 我想在扫描后更改输入值。
您必须使用 $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 中阅读更多相关信息。