Angularjs 字符串比较在指令中不起作用
我不确定为什么selectedAction=='Complete'部分不能正常工作。div没有显示,但是我可以看到span标记中的{{selectedAction}}显示为“complete” select正在正确填充 当我查看dom时,不完整的文本周围似乎有前导和尾随空格。actionTypes的JSON如下所示,所以我不确定空白是从哪里来的。不知道如果我需要修剪什么,或者我在这里忽略了什么Angularjs 字符串比较在指令中不起作用,angularjs,Angularjs,我不确定为什么selectedAction=='Complete'部分不能正常工作。div没有显示,但是我可以看到span标记中的{{selectedAction}}显示为“complete” select正在正确填充 当我查看dom时,不完整的文本周围似乎有前导和尾随空格。actionTypes的JSON如下所示,所以我不确定空白是从哪里来的。不知道如果我需要修剪什么,或者我在这里忽略了什么 $scope.actionTypes = [ { "ActionType
$scope.actionTypes = [
{ "ActionTypeID": 1, "ActionText": "Incomplete" },
{ "ActionTypeID": 2, "ActionText": "Complete" }
];
<select class="form-control form-small-auto" style="width:100%" data-ng-model="selectedAction">
<option data-ng-repeat="action in actionTypes">
{{action.ActionText}}
</option>
</select>
<span>
{{selectedAction}} --- this shows 'Incomplete'
</span>
'This div is not showing
<div style="padding-top: 5px;" data-ng-show="selectedAction == 'Incomplete'">
</div>
jsIDLE:您需要从标记中定义value属性,否则浏览器将使用该标记的内容作为值,在这种情况下,内容将包括空格和分隔线\n。这就是文本不匹配的原因
<option data-ng-repeat="action in actionTypes" value="{{action.ActionText}}">
{{action.ActionText}}
</option>
您需要从标记中定义值属性,否则浏览器将使用该标记的内容作为值,在这种情况下,内容将包括空格和分隔线\n。这就是文本不匹配的原因
<option data-ng-repeat="action in actionTypes" value="{{action.ActionText}}">
{{action.ActionText}}
</option>
您可以通过使用ng选项而不是ng repeat on来修复此问题,以便AngularJs自动管理值和标签:
<select style="width:100%" data-ng-model="selectedAction" ng-options="action.ActionText as action.ActionText for action in actionTypes">
就个人而言,我更喜欢选择整个对象,而不是用于表示它的标签:
<select style="width:100%" data-ng-model="selectedAction" ng-options="action as action.ActionText for action in actionTypes">
...
{{selectedAction.ActionText}}
...
<div data-ng-show="selectedAction.ActionText == 'Incomplete'">
您可以通过使用ng选项而不是ng repeat on来修复此问题,以便AngularJs自动管理值和标签:
<select style="width:100%" data-ng-model="selectedAction" ng-options="action.ActionText as action.ActionText for action in actionTypes">
就个人而言,我更喜欢选择整个对象,而不是用于表示它的标签:
<select style="width:100%" data-ng-model="selectedAction" ng-options="action as action.ActionText for action in actionTypes">
...
{{selectedAction.ActionText}}
...
<div data-ng-show="selectedAction.ActionText == 'Incomplete'">
是否要上载JSFIDLE示例SelectedAction显示“不完整”,包括单引号?不包括引号。只是不完整,前后都有一堆空白after@maxedevAngularJS在{{}内插值作用域变量时将处理空白。您应该用提琴发布完整的代码。是否上载JSFIDLE示例SelectedAction显示“不完整”,包括单引号?不包括引号。只是不完整,前后都有一堆空白after@maxedevAngularJS在{{}内插值作用域变量时将处理空白。您应该用fiddle发布完整的代码。@maxedev必须声明value属性的原因是使用了错误的指令ng repeat。您需要使用ng options指令。请参见@Plantface answer。@maxedev必须声明value属性的原因是使用了错误的指令ng repeat。您需要使用ng options指令。请参见@Plantface答案。