在AngularJS中,如何从控制器向无效输入添加值?

时间:2015-02-10 20:10:45

标签: angularjs

我是Angular的新手,并使用它开发了我的第一个完整的webapp。

我有一个需要字段的表单。所以,我知道它的绑定ngModel值将是未定义的。用户可以选择手动输入字段中的值,也可以单击触发将填充该功能的按钮。

默认情况下,该字段为空白且无效,我无法从控制器设置该值。

在视图中:

<input type="number" 
       min="0" 
       max="50" 
       placeholder="0" 
       name="entry-total-score" 
       id="entry-total-score" 
       ng-model="entry.total.score" 
       required />

在控制器中:

$scope.entry.total.score = computedTotal;

如何手动初始化该数据绑定?

2 个答案:

答案 0 :(得分:0)

你也可以在控制器中使用jquery with angular。

jQuery('#entry-total-score').val(computedTotal);

如果你真的想要工作并且computedTotal不是变量,请使用.val(&#34; computedTotal&#34;)

如果你只想使用棱角分度,那么我认为Ben的评论应该有用。很高兴知道角度和jquery玩得非常好。而不是使用&#39; $&#39;对于jquery,只需使用jQuery和eveything就可以了。另外,请确保在标题中包含带有

的jquery

答案 1 :(得分:0)

我的猜测是你在尝试在控制器中设置分数之前忘记初始化总数。也有可能(就像Ben Diamant所指出的那样)你没有正确地在你的范围内设置你的变量。

在范围内设置它的正确方法是:$scope.entry.total.score = computedTotal;

您应该将变量添加到$ scope或者#34;这个&#34;在控制器中,以便在角度HTML中访问这些变量。

如果您选择第二条路线,则需要确保使用ng-controller="<ControllerName> as <RefName>",然后根据您的参考名称在HTML中使用它。

我做了一个例子,我相信你做了你想做的事。

http://plnkr.co/edit/fbz1nSHPGZN2k4oYCCFA?p=preview

我希望这会有所帮助