比如代码如下:
<body ng-app="app">
<p ng-controller="myCtr">
<p>这是要获取的内容</p>
</p>
</body>
其中,p标签里的文本,是通过php传过来的。我试过ng-bind
, ng-model
获取,结果是undefined
,为什么不行?
我要怎么通过angular
去获取这个p标签的内容呢 ?
不想引用jq 通过js 去获取。
为情所困2017-05-15 17:06:40
angularjs推荐的是使用控制器通过$http获取数据,然后再渲染到模板上,你这直接就用PHP输出到模板了,还要angularjs作什?
angularjs有个jqLite,可以使用 angular.element(document.querySelector('p')).text()实现你的效果,但这和使用jQuery没有本质区别。
phpcn_u15822017-05-15 17:06:40
你用ng-bind或者ng-model只是把一个scope下的变量绑定到上面,反而会改变标签里面的值为undefined。angular.element("#element-id")这个好像可以
淡淡烟草味2017-05-15 17:06:40
应该是这样的
<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里面。