为了账号安全,请及时绑定邮箱和手机立即绑定

{name: userName}

为什么{name: userName}中的userName可以和ng-model='userName'绑定,又不是{{userName}}

正在回答

3 回答

我今天也比较懵看完,仔细想了下可以这么理解,直接传对象就是省略了scope声明变量,执行greet函数时会自动读取对应属性name的值username,我们一般双向绑定会先声明一个变量存储对象,$scope.data={name:username},绑定到input元素中就这么写ng-model="data.name",看到这里你应该可以反应过来,其实就是跳过了声明变量这一步,都是读取对象的属性值username。我来看这个回答是因为我也不懂这里,但是突然一下又明白了,哈哈~

0 回复 有任何疑惑可以回复我~
#1

拿笔小星 提问者

非常感谢!
2017-03-23 回复 有任何疑惑可以回复我~

userName只能从绑定的ng-model中读取,而且不是{{}},是({}).

0 回复 有任何疑惑可以回复我~

ng-model指令把元素值(比如输入域的值)绑定到应用程序,而{{}}或ng-bing是指令把应用程序数据绑定到 HTML 视图。{name: userName}是post请求的传参写法,所以username需要绑定而不是显示视图上。

0 回复 有任何疑惑可以回复我~
#1

拿笔小星 提问者

我想问{name:userName}里value值怎么传进去的
2016-12-23 回复 有任何疑惑可以回复我~
#2

咷椛嶋紸3678342 回复 拿笔小星 提问者

你还是下载源代码看一下吧,ng-click="greet({name:userName})和greet="sayHello(name)"相等,而greet:'&'是双向绑定,至于原理,大漠老师会在后面讲解angularjs的的执行原理的
2016-12-23 回复 有任何疑惑可以回复我~
#3

拿笔小星 提问者 回复 咷椛嶋紸3678342

template:'<input type="text" ng-model="userName" /><br/>'+ '<button class="btn btn-default" ng-click="greet({name:userName})">Greeting</button><br/>' 这里面有个ng-model="userName",双向绑定,但是在ng-click="greet({name:userName})"我传一个对象,这个对象中userName的值也能从model中自动获取?不用{{}}和ng-model也可以获取到值吗?
2016-12-23 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
AngularJS实战
  • 参与学习       205465    人
  • 解答问题       1158    个

一起学习AngularJS的基础教程,通过实例学习并学会AngularJS

进入课程

{name: userName}

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信