下面是一種方法,你可以通過指令來做到這一點。我在這裏做了很多假設,這不是生產值得的代碼,但它應該給你一個開始的基礎。基本上,您將該對象傳遞給該指令,然後觀察該對象上的屬性以進行更改。當屬性更改時,您可以拆分空格字符並在對象上填寫適當的值。既然這是一個指令,你可以在任何地方使用它。
JS
angular.module('app', [])
.controller('ctrl', function($scope) {
$scope.feeData = {
fee: 0,
feeCurrency: 'N/A',
value: ''
};
})
.directive('feeDirective', function() {
return {
restrict: 'A',
scope: {
feeData: '='
},
link: function(scope, element, attrs) {
scope.$watch('feeData.value', function(newValue, oldValue) {
console.log(newValue);
var data = newValue.split(' ');
if (data.length === 2) {
console.log(data);
scope.feeData.fee = data[0];
scope.feeData.feeCurrency = data[1];
}
}, true);
}
}
});
HTML
<div ng-app="app" ng-controller="ctrl">
<div>
<input type="text" ng-model="feeData.value" fee-directive fee-data="feeData">
</div>
<div>
Value: {{feeData.value}}
<br/> Fee: {{feeData.fee}}
<br/> Currency: {{feeData.feeCurrency}}
</div>
</div>
Working JSFiddle示出上面的代碼。
來源
2016-07-07 16:36:10
Lex
它總是會是'Fee' =>'fee'和'feeCurrency'嗎? – Lex
只是一個例子,有幾個不同名稱的字段,用戶必須輸入100美元的格式。是的,總是將貨幣添加到字段名稱費用=>費用和費用Currency.please幫助 –