无法更改角度js中附加到范围的变量值?

时间:2017-02-07 10:44:02

标签: angularjs

$ scope.user.name的值应更改为“请输入名称”,点击重置按钮后我应该“请输入名称”。

$scope.user = {};
$scope.reset =function(dta){
       $scope.dta = 'please enter name';
     }

       <input type ="text" ng-model="user.name">

       <button ng-click="reset('user.name')">Reset</button>

5 个答案:

答案 0 :(得分:2)

只需从''

中删除user.name即可

转换此

<button ng-click="reset('user.name')">Reset</button>

到这个

<button ng-click="reset(user.name)">Reset</button>

答案 1 :(得分:0)

传递参数时请勿使用''

fl

<强>样本

<input type ="text" ng-click="reset(user.name)">
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
  $scope.dta ="test";
$scope.reset =function(dta){
       $scope.dta = 'please enter name';
     }
});

答案 2 :(得分:0)

试试这个:

$scope.reset =function(){
  $scope.user.name= 'please enter name';
}

<input type ="text" ng-model="user.name">

<button ng-click="reset()">Reset</button>

答案 3 :(得分:0)

这是因为您通过''传递价值 所以它将转换为字符串

尝试在没有''

的情况下拨打ng-click="reset(user.name)"
<button ng-click="reset(user.name)">Reset</button>

答案 4 :(得分:0)

您需要单独传递对象和属性,而不是单个字符串。

最好使用属性 <script src="eventsource.js"></script> 而不是将其应用于对象。

https://jsfiddle.net/wtq0mmgj/1/

<强>更新

在没有placeholder的情况下通过user.name无法正常工作,因为您将值应用于''而不是目标对象,因此您可以在{{{}}中看到值{1}},但不在$scope.dta