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

angularjs用ng-model绑定了页面数据(此数据为对象)后,为什么不能打印出来?

angularjs用ng-model绑定了页面数据(此数据为对象)后,为什么不能打印出来?

凤凰求蛊 2018-10-16 13:09:16
我在模块中定义了一个对象,然后用ng-model绑定页面数据,但是用console.log无法打印出对象的某一个值,请问怎么解决呢?代码如下:<!DOCTYPE html><html ng-app="my1"><head>  <meta charset="UTF-8">  <title>Title</title></head><body ng-controller="ctrl">联系人:<input  ng-model="p.name" type="text"><input ng-model="p.sex" ng-value="1" ng-change="click()" type="radio">先生<input ng-model="p.sex" ng-value="2" ng-change="click()" type="radio">女士<script src="js/angular.js"></script><script>  angular.module('my1',['ng']).controller('ctrl',function ($scope) {    $scope.p={        sex:"1" //默认选中先生    };    console.log($scope.p.sex); //输出当前的性别值,controller初始化的时候执行一次,切换的时候并不执行        $scope.click = function(){ //切换性别的时候执行这个方法        console.log($scope.p.sex);    }  })</script></body></html>
查看完整描述

1 回答

?
函数式编程

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

打不出来东西就对了,你的代码没有让angular输出任何东西。
controller中代码的执行,先声明一个空对象p,然后给p上加了个sex属性并输出,并没有给sex赋值,所以没有值是对的。就你目前的代码,页面上的单选钮应该没有选中的吧?
你需要先在controller中对sex赋值才行,页面上就能选中,之后也能输出结果。

<input ng-model="p.sex" name="sex" ng-value="1" type="radio">先生
<input ng-model="p.sex" name="sex" ng-value="2" type="radio">女士


查看完整回答
反对 回复 2018-11-02
  • 1 回答
  • 0 关注
  • 920 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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