从AngularJS中提取值并将其存储在javascript变量

时间:2016-01-28 21:11:31

标签: angularjs

我是angularjs的新手。以下是 .cshtml 文件中的几行代码。 <label>元素中的angularjs对象得到解析并正确显示。也就是说,它们显示实际地址:275 Americoan Ave等。从底部开始的第二行中相同的angularjs对象无法解析。警报功能将行显示为"{{ qc.SubjectAddress }},{{..."。有人可以向我解释从angularjs表达式中获取地址并将其分配给变量的正确方法吗?感谢。

<label id="address" name="address">{{ qc.SubjectAddress }},{{ qc.SubjectCity }}, {{  qc.SubjectState }}  {{ qc.SubjectZip }}</label>
<table>
    <tr>
        <td>
            <div class="col-sm-12 col-xs-12">
                <div id="compMap"></div>
                <script type="text/javascript">
                    var address = '{{ qc.SubjectAddress }},{{ qc.SubjectCity }}, {{  qc.SubjectState }}  {{ qc.SubjectZip }}';
                    alert(address);

2 个答案:

答案 0 :(得分:0)

您可能希望返回并查看一些控制器教程。通常你需要一个像控制器里面那样的函数。

具体来说,答案是<script>标签会在Angular中的任何内容触发之前立即运行。这会加载Angular的所有配置。然后Angular将运行其常量,值,配置,提供程序,服务,指令和控制器(按此顺序)。只有然后将Angular填入{{ }} HTML大括号。

因此,简而言之,在您尝试运行此功能的页面的控制器内运行alert()

答案 1 :(得分:0)

您的变量地址与<script>标记之外的斜率不同。

为了使其有效,您不需要<script>标签。只确保使用右侧斜率的ng-controller声明控制器。

之后,所有代码都可以进入de {{}}

你可以在你的控制器上使用你的逻辑:

var address = SubjectAddress + ',' + SubjectCity + ',' +  SubjectState +   SubjectZip ;

然后: 您的HTML上的{{qc.address}}

或直接在您的视图上编写代码(不使用<script>标记:

{{ qc.SubjectAddress +','+ qc.SubjectCity ',' +  qc.SubjectState  + ' ' qc.SubjectZip }}

为了更好的练习,我建议使用第一种方法,因为它可以使HTML更加干净和易于阅读。