Angular-使用范围变量设置ng模型
Angular - Set ng-model using scope variable
这是不应该做的事情吗?因为我无法让它工作。
在我的控制器中,我有
$scope.test = "someValue"
在我看来
<input ng-model="test" />
我所期望的
<input ng-model="someValue" />
然而,ng模型仍然被设置为"测试"。
如何解决此问题?
ng-model
不是这样工作的。如果您有一个作用域变量,如test
,该变量的值将反映在input
的value属性中。这意味着someValue
将在input
中可见。换句话说:ng-model
是一个指令,它使用NgModelController
绑定到作用域上的属性,例如输入、选择、文本区域(或自定义表单控件)。
NgModelController为ngModel指令提供API。这个控制器包含用于数据绑定、验证、CSS的服务更新以及值格式化和解析
这里有一个例子:
var app = angular.module('myApp', []);
app.controller('TestController', TestController);
function TestController() {
var vm = this;
vm.myModel = "This is the model value";
vm.selectedOption = undefined;
vm.options = [{
id: '1',
name: 'Option A'
}, {
id: '2',
name: 'Option B'
}, {
id: '3',
name: 'Option C'
}];
};
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
<body ng-app="myApp" ng-controller="TestController as vm">
<input type="text" ng-model="vm.myModel" />
<select name="mySelect" id="mySelect" ng-model="vm.selectedOption">
<option ng-repeat="option in vm.options" value="{{option.id}}">{{ option.name }}</option>
</select>
<pre ng-if="vm.selectedOption">Selected Option: {{ vm.selectedOption }}</pre>
</body>
上面的示例还显示了一些最佳实践,即对视图使用controllerAs
语法,并明确声明控制器签名。
显示控制器代码。然而,我在下面已经证明了它应该有效。
angular.module('myApp', []);
angular.module('myApp').controller('myCtrl', function($scope) {
$scope.test = "somevalue";
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="myApp">
<form ng-controller="myCtrl">
<input type="text" ng-model="test" />
</form>
</body>
ng-model
只是表示绑定对象。它不会改变。改变的是value
,它对应于ng-model
对象的值。
相关文章:
- 角度无线电按钮ng模型不起作用
- ng模型内的ng重复的ng重复开始
- 将输入值设置为ng模型属性[Angular]时出现问题
- 自定义指令中的AngularJS ng模型
- 如何为动态创建的文本区域中输入的值更新ng模型
- ng重复中的ng模型-初始化唯一作用域属性
- ng重复变量到ng模型
- 初始化ng模型时,Angular ui选择占位符不起作用
- 角度去抖动(ng模型选项)不起作用
- 即使 ng 模型有值,也使输入字段为空
- 选择框中带有关联的ng模型,选项中带有ng重复
- 为什么我的指令(使用链接)没有出现,并允许ng模型看到它
- AngularJS+IE 11+聚合物=ng模型未更新
- ng模型在$(element).clone()之后不起作用
- 为什么ng选项指令需要ng模型
- 使用引导时间选取器时,没有更新数据ng模型值
- 具有ng重复的动态ng模型
- 有没有一种方法可以在设计模式下将ng模型或工厂绑定到iframe
- 删除ng模型中的ng模型输入值
- Angular.js默认选中不'不适用于ng模型