Ответ 1
В вашем контроллере:
$scope.num_str = parseInt(num_str, 10); // parseInt with radix
Строка номера '5'
var num_str = '5';
Как я могу parseInt и дать ниже ответы правильно в одно и то же время?
{{num_str + 1}} // 6
{{num_str - 1}} // 4
parseInt не может использоваться в выражении Angular,
{{parseInt(num_str) - 1}}
фильтр номера не может добавлять и минус,
{{num_str - 1 | number}}
Если у кого-то есть полезное предложение, я буду очень благодарен вам.
В вашем контроллере:
$scope.num_str = parseInt(num_str, 10); // parseInt with radix
Я предпочитаю использовать фильтр angular.
app.filter('num', function() {
return function(input) {
return parseInt(input, 10);
};
});
то вы можете использовать это в dom:
{{'10'|num}}
Вот fiddle.
Надеюсь, это помогло!
Вы можете попробовать:
{{ 1 * num_str + 1 }}
Другой вариант:
$scope.parseInt = parseInt;
Тогда вы можете сделать это так, как хотите:
{{parseInt(num_str)-1}}
Это связано с тем, что выражения angular не имеют доступа к window
, только к scope
.
Кроме того, с числовым фильтром обертывание выражения в круглых скобках работает:
{{(num_str-1) | number}}
{{ num_str - 0 }}
... работает для меня.
Ни одно из вышеперечисленных не работало для меня.
Но это произошло:
{{ (num1_str * 1) + (num2_str * 1) }}
Вы можете использовать метод javascript Number, чтобы разобрать его в число,
var num=Number (num_str);
Кроме {{1 * num_str + 1}} Вы также можете попробовать это (минус сначала):
{{ num_str - 0 + 1}}
Но он очень хрупкий, если num_str содержит буквы, то он будет терпеть неудачу. Поэтому лучше попытаться написать фильтр, как сказал @hassassin, или предварительно обработать данные сразу после его запуска.
Я попробовал решения, упомянутые выше, и никто из них не работал у меня. Я использовал JSON.parse и работал:
$http.get('/api/getAdPolling')
.success(function (data) {
console.log('success: ' + data.length);
if (JSON.stringify(data) != "not found") {
$scope.adPoll = JSON.parse(data);
}
})
.error(function (data) {
console.log('Error: ' + data);
});
Не очень хорошо, но смешной взлом: вы можете - вместо +
{{num_str -- 1 }}
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<div ng-app>
{{'1'--1}}
</div>