AngularJS-无法更改inputbox的值

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

下面的代码使用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>
错误:

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;
}