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

angularjs input标签只能单向传递数据的问题

angularjs input标签只能单向传递数据的问题

人到中年有点甜 2019-04-13 08:46:10
我的界面发送{{message.user.name}}:{{message.content}}我的controlleratMoon.controller('roomCtrl',['$scope','myService',function($scope,myService){$scope.sendMyMessage=function(){console.log($scope.myMessage)myService.sendMyMessage($scope,$scope.myMessage)}$scope.init=function(){myService.getMessages($scope);}}])打印的$scope.myMessage一直是undefine,如果我在controller中写上$scope.myMessage="xxxx"能再界面中显示,所以数据只能从模型到视图,不能从视图到模型,求大神解答万分感谢
查看完整描述

2 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

我怀疑你这是被scope的原型继承坑了
像ion-content这些指令都是有各自的scope的,然后你在视图里写上ng-model="myMessage",其实你在输入框填入的内容是放到了ion-item的scope上了,而你的roomCtrl的scope里的myMessage依旧是undefined;而当你在控制器里给myMessage赋值完了以后,由于ion-item的scope上还没有myMessage属性,所以就会从原型链上找,进而找到了roomCtrl的scope上的myMessage。
这是我常用的解决方案:
$scope.ctrlScope=$scope
                            
查看完整回答
反对 回复 2019-04-13
  • 2 回答
  • 0 关注
  • 343 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号