设置动态输入字段的角度方式?

时间:2013-08-14 20:21:10

标签: javascript html angularjs angular-ui

假设有一个文本输入字段,用户将输入ID。之后,用户可以单击“添加”按钮进行确认。单击该按钮后,我想向我的服务器发送一个请求并获取“名称”。我想禁用文本输入字段,隐藏“添加”按钮并显示一个数字输入字段,其中“添加”按钮曾经是。

我将如何以Angular方式构建此结构?我刚开始使用Angular并且对这些概念有点熟悉,但我却无法以正确的方式思考这个问题。

1 个答案:

答案 0 :(得分:1)

您应该使用ng-show,ng-hide,ng-disabled和ng-click来执行此操作。

您必须记住的是,您不应该直接在控制器中编辑DOM。您应该使用现有指令或创建自己的指令。在这种情况下,您只需要存在。

你应该这样做:

<input type="text" ng-model="textValue" ng-disabled="numberValue"> 
<button ng-hide="numberValue" ng-click="sendData">Send</button>
<input type="number" ng-model="numberValue" ng-show="numberValue">

在控制器中,您将使用sendData方法调用服务器,并将结果分配给numberData属性。如果要在加载数据时禁用该按钮,可以添加第二个属性,在启动对服务器的调用时将设置为true,并在请求的回调方法中设置为false。然后,您可以在该属性上为该按钮添加禁用ng。