Angular.js字符串为html

时间:2017-06-20 18:35:16

标签: html angularjs

您好我想将html绑定到div。下面的代码我写的那样

.controller('HomeCtrl',['$http','$scope','$state',function($http,$scope,$state){ 
        $scope.data = {};
        $scope.userInfo = function() {
            $state.go('user');
        }
        var user=JSON.parse(sessionStorage.user);
        $scope.user=user.name+ ' ' + user.surname;
        $http.get('http://example:3000/projects').success(function(response){ //make a get request to mock json file.          
            var data=response;
             var text='';
             for (var i=0;i<data.length;i++) {          
                text+='<a id="task_'+data[i]._id+'" class="item item-icon-left task_'+data[i]._id+'" ng-click="getProject('+data[i]._id+')">';
                text+='<i class="icon ion-android-folder-open"></i> '+data[i].name;
                text+='</a>';
             }
             console.log(text);

            $scope.tasks=text;

        })
        .error(function(err){
           alert("hata");
        })

    }])
在console.writeline字符串中的

看起来是正确的,但是在html中没有显示ngclick和id属性。

<div ng-bind-html="tasks">

</div>

在我上面写的html中。我在哪里弄错了?

提前致谢...

1 个答案:

答案 0 :(得分:0)

你将使用ng-repeat; 在HTML中

<a class="item item-icon-left" ng-repeat="item in projects" ng-click="getProject({{item.id}},'{{item.name}}')">
                <i class="icon ion-android-folder-open"></i>  {{item.name}}
            </a>

把这个放在controller.js中,将数据放在

下面的数组中
$http.get('http://example:3000/projects').success(function(response){ //make a get request to mock json file.          
            var data=response;
             var text='';
             var projects=[];
             for (var i=0;i<data.length;i++) {
                 var item={
                     id:data[i]._id,
                     name:data[i].name
                 }
                 projects.push(item);

             }
             console.log(projects);

            $scope.projects=projects;

        })
        .error(function(err){
           alert("hata");
        })