【发布时间】:2014-04-21 14:29:23
【问题描述】:
我开始在 jsfiddle 中使用 AngularJS 表单,我已经遇到了一个问题,即一个非常简单的表单示例无法按预期工作。我所拥有的只是一个命名表单,并且由于某种原因它没有出现在范围内(我期待一个 FormController 实例)。
我设置了fiddle,下面是基本代码:
HTML
<div id="mainContainer" ng-app="angularTest" ng-controller="MainCtrl">
<h1>The Form</h1>
<form name="theForm">
<input name="myName" type="text" ng-model="model.name" />
<input name="submit" type="submit" />
</form>
</div>
JS
var app = angular.module('angularTest', []);
app.controller('MainCtrl', ['$scope', function($scope) {
$scope.model = { name: 'Model Name' };
console.log($scope.theForm); //displays 'undefined'
}]);
我在 jsfiddle 上找不到很多直截了当的例子,所以我不确定这是否是与类似网站的一些奇怪的交互(我发现的大多数例子都没有使用正式的控制器)。我也试过在 Plunker 上检查,但我遇到了同样的问题。
我确定我遗漏了一些非常明显的东西,但我看不出这里有很多其他需要改变或调整的东西。非常感谢任何帮助!
【问题讨论】:
-
当我的表单嵌套在一个带有 ng-if 的元素中时,我遇到了这个问题。改用 ng-show 解决了这个问题。