假设有一个文本输入字段,用户将输入ID。之后,用户可以单击“添加”按钮进行确认。单击该按钮后,我想向我的服务器发送一个请求并获取“名称”。我想禁用文本输入字段,隐藏“添加”按钮并显示一个数字输入字段,其中“添加”按钮曾经是。
我将如何以Angular方式构建此结构?我刚开始使用Angular并且对这些概念有点熟悉,但我却无法以正确的方式思考这个问题。
答案 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。