AngularJS-无法更改inputbox的值
下面的代码使用Angular将输入值从100更改为200。当使用我的控制器更改输入框的值时,我得到一个类型错误AngularJS-无法更改inputbox的值,angularjs,Angularjs,下面的代码使用Angular将输入值从100更改为200。当使用我的控制器更改输入框的值时,我得到一个类型错误 <div ng-controller="FooController" ...> <input ng-model="foo.price" type="text" name="price" class="price" id="price-min" ng-init="foo.price = '100'" /> ... </div&g
<div ng-controller="FooController" ...>
<input ng-model="foo.price" type="text" name="price" class="price" id="price-min" ng-init="foo.price = '100'" />
...
</div>
错误:
TypeError:无法设置未定义的属性“price\u min”
如果需要,我可以提供其他代码或信息尝试将控制器修改为:
Foobar.controller('FooController', ['$scope', function ($scope) {
$scope.setPrice = function() {
$scope.foo = {'price': 200};
return $scope.foo.price;
}
$scope.setPrice();
}]);
我想你是想这么做 HTML 错误在于您声明$scope.foo的方式 我想你想要这个: Html代码:
<div ng-controller="FooController">
<input ng-model="foo.price" type="text" name="price" class="price" id="price-min" ng-init="foo.price = '100'"/>
var Foobar = angular.module('testapp', []);
Foobar.controller('FooController', ['$scope', function($scope) {
$scope.foo = {};
setPrice($scope);
function setPrice($scope) {
$scope.foo.price = "400";
}
}]);
问题是你还没有foo。这类似于写作
function test(){
i=123;
}
看看少了什么
但是运行此命令时,ng init在控制器实例化之后出现。这意味着您输入的值为100
为了理解,请提供您想要实现的更多信息(为什么要更改?)。您可以发布一个提琴吗..不要以这种方式使用$scope
函数setPrice($scope){…}
我得到$scope.setPrice();这样做不是一个函数,也不是说它不起作用。我在寻找hogans解决方案为什么我不能只使用$scope.foo.price=price?如果我有多个属性,比如名称$scope.foo.name,该怎么办。它们会被覆盖吗?
<div ng-controller="FooController">
<input ng-model="foo.price" type="text" name="price" class="price" id="price-min" ng-init="foo.price = '100'"/>
var Foobar = angular.module('testapp', []);
Foobar.controller('FooController', ['$scope', function($scope) {
$scope.foo = {};
setPrice($scope);
function setPrice($scope) {
$scope.foo.price = "400";
}
}]);
function test(){
i=123;
}