페이지에서 컨트롤러의 변수를 사용합니다. 예 :이온수 + 숫자가있는 변수는 항상 '올바른 숫자가 아닙니다.'
<label class="item item-input item-stacked-label">
<span class="input-label">Projekt Id:</span>
<input type="number" placeholder="0" value="{{cpc.projektid}}" disabled>
</label>
컨트롤러는 공장에서 계산을 수행하며 SQLite 데이터베이스에서 일부 데이터를 가져옵니다. 내가 컨트롤러 또는 공장 내 변수의 유형을 선택하면, 내가 예를 들어 얻을 :
console.log(typeof cpcVm.projektid); => number
console.log(angular.isNumber(cpcVm.projektid)); 0> true
그래서 나를 위해,이 변수의 값이 숫자임을 의미!?
지정된 값 "{{cpc.projektid}}"유효한 숫자되지 않습니다 :
는하지만 항상 경고를 얻을. ? (? [EE] [- +] \ D +)?를 들어 "
(.. | | \ D + \ D + \ D + \ D +) - 다음 값은 다음 정규 표현식에 일치해야합니다 projektid
이 큰 문제가되지 않지만 좀 더 복잡한 계산을 가지고, 나는 또한 번호가 숫자 인 경우에만 작동 몇 가지 필터를 설정할 필요는 예를 들면 다음과 같습니다.
<input type="number" placeholder="0" value="{{cpc.luftmenge | number:2}}" disabled>
나는 추가를 제공하기 위해 이미 시도 parseFloat()
내 컨트롤러 및 공장 있지만 변경 사항이 있습니다. 컨트롤러 및 팩토리, 그것은 숫자가 있지만 HTML에서 오류를 만들고 필터를 사용할 수 없습니다.
또 다른 이상한 점 : 공장 또는 컨트롤러의 변수 값을 수동으로 설정하면 (예 : 12를 반환하는 경우) 작동합니다.
아이디어가 있으십니까?
감사합니다! 이것은 내 문제를 해결했다. 내가 수동적 가치를 부여했을 때 그것이 왜 효과가 있었는지 나는 이해하지 못한다. 어쩌면 계산에서 다른 변수를 사용했기 때문일 수 있습니까? 내 전체 코드를 ng-value = ""로 변경하고 parseFloat() 항목을 제거했습니다. 내 테스트에서 모든 것이 작동하는 것 같습니다 ... – cjs1976
다행이 효과가! 내가 'value = "{{}}"를 사용했을 때 응답에서 언급했듯이, Angular가 초기화되지 않을 때까지'value '가'{{cpc.projektid}}'로 표시되는 초 또는 수 밀리 초일 수도 있습니다. DOM에서. Angular가 작동하면서 이제 브라우저는'{{cpc.projektid}} '표현식이 평가 된 후에 실제 값을 얻습니다. 'src'와'ng-src' 속성도 같습니다. –
아, 잘 알고 있습니다. 다시 한 번 감사드립니다! – cjs1976