我在模块中定义了一个对象,然后用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">女士
添加回答
举报
0/150
提交
取消