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

我的界面
发送
collection-repeat="messageinmessages"
collection-item-width="'100%'"
collection-item-height="75">

{{message.user.name}}:

{{message.content}}

我的controller
atMoon.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"能再界面中显示,所以数据只能从模型到视图,不能从视图到模型,求大神解答万分感谢
人到中年有点甜
浏览 344回答 2
2回答

素胚勾勒不出你

我怀疑你这是被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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript