更新模型时触发显示

时间:2015-02-25 12:27:20

标签: javascript angularjs ng-show

目标

当用户从列表中选择值时,我必须显示或隐藏字段。在接下来的示例中,我试图模拟我想要做的事情,

我想仅在汽车颜色设置为红色时显示输入文本字段:

代码:

每次用户选择一个选项时,我都会在控制器上设置它们的属性

 $scope.CarModel.Colour = "Red";

没关系,但是一旦模型更新,我不知道如何触发ng-show =“CarCtrl.ValidateColour(CarModel.Colour)”,以隐藏或显示该字段。

 <input type="text" class="form-control" id="carColour" ng-model="CarModel.Colour"  ng-show="CarCtrl.ValidateColour(CarModel.Colour)">

2 个答案:

答案 0 :(得分:0)

我通常喜欢做的是为我的演出提供辅助功能,例如......

HTML:

<input ng-model="CarModel.Colour" ng-show="showThis()">

JS:

$scope.showThis = function () {
    if(CarModel.Colour == 'red') return true;
    else return false;
}

答案 1 :(得分:0)

查看 Demo 你可以在没有&#34; CarCtrl的情况下调用ValidateColour()函数。&#34;因为它在范围内

function CarCtrl($scope) {
$scope.ValidateColour = function(colour){
    return colour === "Red";
}

}