重复PHP变量

ng-repeat PHP variables

本文关键字:变量 PHP 重复      更新时间:2023-09-26

我对ng-repeat和ng-init有一个问题。它不显示我的内容也不是ID当我要求他们在我的代码(project.content)。但它也不显示文本本身。所以一定是哪里出了问题。注意,我在angular中默认使用了其他的打开和关闭标签。

显然,Angular在代码中看到的东西与浏览器或我看到的不同,因为我收到了这个控制台错误:

http://errors.angularjs.org/1.2.12/$解析/ueoe ? p0 =项目% 3 d % 20% 20% 7 b

<table ng-init="projects = {" id":"1","content":"testtesttest"}="" "="">

我怎样才能使它工作?

HTML代码:

<div ng-app="overviewApp">
    <table  ng-init="projects = <?=json_encode($projects)?> ">
        <tr ng-repeat="project in projects">
            <td>[{[project.content]}]</td>
        </tr>
    </table>
</div>

在浏览器源代码中是这样的:

    <!-- BEGIN PAGE CONTENT-->
    <div class="row">
        <div class="col-md-12">
            <div class="content-section">
                <div ng-app="overviewApp">
<table  ng-init="projects = {"id":1,"content":"TestTestTest"} ">
    <tr ng-repeat="project in projects">
        <td>[{[project.content]}]</td>
    </tr>
</table>
</div>

它无法解析它,因为它看到双引号里面的双引号。尝试使用单引号。

<table  ng-init='projects = <?=json_encode($projects)?> '>

还必须确保projects的数组格式如下:

ng-init='projects = [{"id":1,"content":"TestTestTest"}]'

最后,由于您正在使用自定义插值提供程序{[{}]},您必须在配置中定义它们:

app.config(['$interpolateProvider', function ($interpolateProvider) {
    $interpolateProvider.startSymbol('[{[');
    $interpolateProvider.endSymbol(']}]');
}]);

看到它工作:DEMO

或者,而不是使用插值标记,我建议使用ng-bind指令,如:

<td><span ng-bind="project.content"></span></td> 

查看DEMO

注意:AngularJS文档建议在ng-init指令上使用控制器来初始化作用域的值。