angular.js - angular 如何获取标签里的文本?

浏览:59日期:2023-01-06

问题描述

比如代码如下:

<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里面。

相关文章: