Angularjs 1.3中未定义形式的范围
我不知道这是否是我做的,但一旦我升级到Angular 1.3,表单就不再在我的范围内定义。我的HTML是Angularjs 1.3中未定义形式的范围,angularjs,Angularjs,我不知道这是否是我做的,但一旦我升级到Angular 1.3,表单就不再在我的范围内定义。我的HTML是 <div some-dir> <form name="myForm"> <!-- Form stuff here --> <button ng-click="submit();"> </form> </div> 这个返回未定义的。我在任何地方都没有ng if或ng repeat。此特
<div some-dir>
<form name="myForm">
<!-- Form stuff here -->
<button ng-click="submit();">
</form>
</div>
这个返回未定义的。我在任何地方都没有
ng if
或ng repeat
。此特定指令中只有一个指令和一个范围。同样,在我升级到Angular 1.3之前,这一切都正常工作。我遇到了同样的问题,并通过在包含表单的html模板中声明控制器来修复。因此,您的表单声明将变成:
<form name="myForm" ng-controller="SomeController">
1.3的新“功能”,可能是..通过将表单数据范围化到某个范围对象中,可以解决该问题:
<form name="myForms.firstForm">
<!-- Form stuff here -->
<button ng-click="submit();">
</form>
这里有更多信息。在我的例子中,我的表单恰好嵌套在另一个表单中。 因此,一旦我将
切换到
,表单就被定义了
请参阅。好提示!通过从1.2升级到1.4,我在控制器中丢失了表单。因为我在版本0.8.0中使用AngularUI(仍然坚持使用Bootstrap 2.3.2),所以我在web上找到的其他解决方案都不令人满意。这似乎是唯一有效的解决方案。为了让AngularJS中如此基本和基本的东西按照你的合理预期工作,不得不求助于这样的黑客手段,真是太遗憾了。我喜欢AngularJS,除非我不得不做这样的事情/对我来说,除了这个,没有别的办法。我试过看,家长范围,等等。同样!谢谢你的回答!
<form name="myForms.firstForm">
<!-- Form stuff here -->
<button ng-click="submit();">
</form>
scope.myForms = {};
scope.submit = function() {
console.log(scope.myForms.firstForm);
}