2016-02-20 88 views
0

我需要用PHP数组值填充一些打字稿数组。下面是我如何做到这一点:在打字稿文件中的PHP

的index.php

相关部分:

<? 
    require 'scripts/back_end/database_connection.php'; 
    require 'scripts/back_end/get_countries.php'; 
    require 'scripts/back_end/views/select.php'; 
    require 'scripts/back_end/views/view.php'; 

    $conn->close(); 
?> 

<script type="text/javascript"> 
    var allCountries = <? echo json_encode($allCountries, JSON_PRETTY_PRINT) ?>; 
</script> 

我更喜欢把var allCountries =添加JavaScript行这个函数中我的打字稿文件像这样:

$(document).ready(function() { 
    var allCountries = <? echo json_encode($allCountries, JSON_PRETTY_PRINT) ?>; 
    var _searchFilterViewModel: SearchFilterViewModel = new SearchFilterViewModel(allCountries, allCategories); 
    var _searchFilterForm = $("#find-vegan-products-page").find("form")[0]; 
    ko.applyBindings(_searchFilterViewModel, _searchFilterForm); 
); 

但是PHP标签只能在JavaScript文件中识别。有没有办法让php在打字稿文件中被识别?

+2

建议编辑 - 为什么修改我的问题包含我不使用的代码?如果你认为我应该使用新的代码,那么建议在答案或评论中说明原因。 – BeniaminoBaggins

+0

你是完全正确的。请注意,建议的审核必须由更多的用户批准。我认为编辑会被拒绝。另外请注意,我已经批准了错误的编辑(但我是唯一一个编辑者):我已经寻找了一种方法来解开它,但是没有,我很抱歉。如果编辑将被批准,我会将其恢复为原始文章。我非常抱歉。 – fusion3k

回答

0

不应该可以在TypeScript文件中插入PHP,因为这些文件需要被编译,并且PHP内容不是有效的TypeScript代码。

您可以随时输出,即使有通过设置--noEmitOnError为false编译错误,但不建议..