フィールドの値を表示名に変換するには、ビュー内の式を1行として使用しています。なぜAngular viewの配列式が機能しないのですか?
<td>{{ {'M': "Male", 'F': "Femail"} [partB.gender] }}</td>
、それがうまく働いた:例えば、バックエンドはこのために、私のようにビューを書かれている、男性と女性のための「F」のための「M」として性別を送信します。
私は公正な番号choice fieldsを私のdjangoモデルに持っています。これはに動作していない
<td>
{{ ["No", "Yes"][+partB.is_employee_with_substantial_interest] }}
</td>
しかし:そのうちの一つは、ブールはtrue
/false
として受け取ったととしてビューで「はい」/「いいえ」私が書いた表現としてそのフィールドを表示することです。
.
と単項式+
の間に優先順位の問題があると考えましたが、そうではありません。チェック:
>> var a = {a: true, b: false}
undefined
>> a.a
true
>> +a.a
1
私の知る限り表現["No", "Yes"][+partB.is_employee_with_substantial_interest]
自体は間違っていないJavaScriptを知っています。
ここで質問をする前に、私はplunker
<html ng-app="myApp" >
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.js"></script>
<script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
<script src="http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.10.0.js"></script>
</head>
<body ng-controller="myCtrl">
<h1>AngularJS Template Query </h1>
<h4> JavaScript Working </h4>
<ul>
<li id="a"> Grijesh Chauhan </li>
<li id="b"> Grijesh Chauhan </li>
<li id="c"> Grijesh Chauhan </li>
<li id="d"> Grijesh Chauhan </li>
<li id="e"> Grijesh Chauhan </li>
</ul>
<div>
<h4> Angular Code not Working </h4>
<ul>
<li> {{ ["No", "Yes"][+data.b] }} </li>
<li> {{ ["No", "Yes"][+data.a] }} </li>
<li> {{ { true: "Yes", false: "No"}[data.b] }} </li>
<li> {{ { true: "Yes", false: "No"}[data.a] }} </li>
<li> {{ { 1: "Yes", 0: "No"}[+data.b] }} </li>
<li> {{ { 1: "Yes", 0: "No"}[+data.a] }} </li>
</ul>
</div>
<script>
var data = {a: true, b: false};
document.getElementById('a').innerHTML = ["No", "Yes"][+data.a];
document.getElementById('b').innerHTML = ["No", "Yes"][+data.b];
document.getElementById('c').innerHTML = { 1: "Yes", 0: "No"}[+data.b];
document.getElementById('d').innerHTML = { 1: "Yes", 0: "No"}[+data.a];
document.getElementById('e').innerHTML = { true: "Yes", false: "No"}[data.a];
</script>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.data = { a: true, b: false };
});
</script>
</body>
</html>
ご協力いただきありがとうございます。私は 'ng-if'を使って表現を変更します –