我要做的是使用用户选择的单选按钮值来更新控制器中的变量。该变量取决于值,将针对特定答案进行http调用。


示例:

&# xA;选择汽车 - >变量temp =卡片 - > http调用汽车方法


选择房子 - >变量temp = house - > http调用house方法


在视图中我有这样的内容:
&#xA;&#xA; &lt; input id =“inputOne”type =“radio”ng-value =“cars”ng-model =“controller.selection”&gt;&#xA;&lt; input id =“inputTwo”type =“radio”ng-value =“ house“ng-model =”controller.selection“&gt;&#xA;&#xA;&lt; input id =”mySubmit“type =”button“ng-click =”controller.selectionChosen“&gt;&#xA; < / code>
&#xA;&#xA; 在我的控制器中,我有类似这样的内容:
&#xA;&#xA;< code> var vm = this;&#xA; vm.selection;&#xA;&#xA; function selectionChosen(){&#xA;警报(vm.selection);&#XA;&#XA; //如果选择==汽车这样做&#xA; //如果选择== house,请执行此操作&#xA;}&#xA;&#xA;&#xA;
您可能想知道为什么它是'controllerName.variableName',我是遵循最佳做法(在此处 )`所以它的设置方式需要控制器名称然后是变量。
&#xA;&#xA;我遇到的问题是由于某种原因,该值没有绑定。当警报发生时它会发出“未定义”警报,我不知道为什么。我在网上查看了许多教程和示例,看起来它应该可以工作。
&#xA;&#xA;所以我我很确定它具有约束力,或者至少可以尝试。当我将初始化的变量设置为“test”时,第一个警报显示“test”。单击按钮后,它将变为“未定义”。
&#xA;答案 0 :(得分:1)
问题来自ng-value="cars"
因为您使用Mycontroler作为控制器,如果您在控制器中声明汽车,它应该是ng-value='controller.cars'
如果您只是想将汽车用作ng值的字符串而不声明它,则需要添加' '
,angular会将其视为字符串而不是变量
ng-value="'cars'"