问题描述
比如代码如下:
<body ng-app='app'> <p ng-controller='myCtr'><p>这是要获取的内容</p> </p></body>
其中,p标签里的文本,是通过php传过来的。我试过ng-bind, ng-model获取,结果是undefined,为什么不行? 我要怎么通过angular去获取这个p标签的内容呢 ?不想引用jq 通过js 去获取。
问题解答
回答1:angularjs推荐的是使用控制器通过$http获取数据,然后再渲染到模板上,你这直接就用PHP输出到模板了,还要angularjs作甚?angularjs有个jqLite,可以使用 angular.element(document.querySelector(’p’)).text()实现你的效果,但这和使用jQuery没有本质区别。
回答2:你用ng-bind或者ng-model只是把一个scope下的变量绑定到上面,反而会改变标签里面的值为undefined。angular.element('#element-id')这个好像可以
回答3:应该是这样的
<body ng-app='app'> <p ng-controller='myCtr'><p ng-repeat='item in lists'>{{iteam.name}}</p> </p></body>在控制器中angular.module('app',[]);app.controller('myCtrl',[’$scope’,’$http’],function($scope,$http){ $http.get('url').then(function(data){ $scope.lists=data; })})
通过$http服务拿到PHP传过来的数据,再绑定到视图上,我这里写的很简单,一般会在controller里面调用封装好接口,具体实现一般都在service里面。

