GVKun编程网logo

如何将node.js服务器变量传递到我的angular / html视图中?(node.js怎么部署到服务器)

20

本文的目的是介绍如何将node.js服务器变量传递到我的angular/html视图中?的详细情况,特别关注node.js怎么部署到服务器的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为

本文的目的是介绍如何将node.js服务器变量传递到我的angular / html视图中?的详细情况,特别关注node.js怎么部署到服务器的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解如何将node.js服务器变量传递到我的angular / html视图中?的机会,同时也不会遗漏关于angularjs – Angular HTML5Mode – 重写规则、angularjs – Angular JS – 将ng-click $index值传递给控制器函数,然后返回另一个视图、angularjs – Angular-ui State – 多个视图没有看到我的解析数据、angularjs – angular.js ui-router将变量传递给状态url的知识。

本文目录一览:

如何将node.js服务器变量传递到我的angular / html视图中?(node.js怎么部署到服务器)

如何将node.js服务器变量传递到我的angular / html视图中?(node.js怎么部署到服务器)

我在启动服务器的app.js文件中有此路由

app.get(''/view/:item_id'', function(req,res){    var A = 5;    res.render(''view_item'');

我在view_item.html中有这个:

<p>{{A}}</p>

我希望它显示变量值-5。如果使用的是玉之类的模板引擎,那会很容易。我可以将服务器代码的第三行更改为res.render({A:A},''view_item'');

但是我使用html作为模板引擎。到目前为止,我的研究告诉我,使用带有angular的模板引擎通常不是一个好主意,并且总有一种方法可以使用angular的内置模板系统来实现。那么我该怎么做呢?我是否以某种方式将其传递给$
scope并包括

<script>    $scope.A = {{A}};</script>

我还没有在任何地方看到它完成,所以我不认为这是要走的路。

答案1

小编典典

这是一个两步过程。

  1. 首先,您需要使用诸如 express in node之 类的库(服务器库)来设置适当的路由(REST服务)以响应您的请求:

服务器端

//app = express();    app.get(''/api/:paramID1/:paramID2'',function(req, res){        return res.json({ A: 5 });    });
  1. 客户端 ,您需要ajax调用来调用服务,例如:
    $http.get( "/api/1/abc").success(function( data ) {

    $scope.A= data; //from your sample;
    alert( “Load was performed. ” + data );
    });

请注意,使用REST时,可以根据您的需要调用不同类型的“方法”,例如POST,DELETE,UPDATE或示例GET中刚刚提到的方法。

angularjs – Angular HTML5Mode – 重写规则

angularjs – Angular HTML5Mode – 重写规则

当我刷新网站上的标签时,我遇到了路径问题:

我从github复制了这个重写规则:

<rule name="Main Rule" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="/" />
        </rule>

这在诸如https://www.mywebsite.com/dashboard之类的路径上工作得很好.

但是,当我刷新像https://www.mywebsite.com/tab/settings这样的路径时,我的javascript加载正常,但我的css目录关闭了1.

我的脚本路径加载正确如下:

https://www.mywebsite.com/Scripts/angular.js

但是,我的CSS试图加载为:

https://www.mywebsite.com/tab/Content/bootstrap.min.css

使用/ tab /导致我的问题.

我的路线:

.state('Template',{
            url: '',abstract: true,views: {
                'header': {
                    templateUrl: 'App/SharedViews/Landing/dashboardheader.html'
                }
            }
        })
        .state('Template.AdminTab',{
            url: '/admin',views: {
                'container@': {
                    templateUrl: 'App/Views/Admin.html'
                }
            }
        })
        .state('Template.Tab.Company',{
            url: '/company',views: {
                'container@': {
                    templateUrl: 'App/Views/Admin.html'
                },'tabs-views@': {
                    templateUrl: 'App/Views/Company.html'
                }
            }
        })
        .state('Template.Tab.Users',{
            url: '/users','tabs-views@': {
                    templateUrl: 'App/Views/Users.html'
                }
            }
        })

如何修改重写规则以在2段深度的网址上正确加载css?

解决方法

应该有你的道路:
 /Content/bootstrap.min.css

代替:
内容/ bootstrap.min.css

在前面放置一个’/’将根据根目录解析路径.

angularjs – Angular JS – 将ng-click $index值传递给控制器函数,然后返回另一个视图

angularjs – Angular JS – 将ng-click $index值传递给控制器函数,然后返回另一个视图

我将ng-click $index值传递给我的控制器,然后使用它在ng-repeat中的值来表示我的数据,但得到的错误表明“ReferenceError:myChoice未定义”

我的观点(months.html)有一个所有月份的列表,选中后,它会将值传递给控制器​​.

<ion-list ng-repeat="time in times.months" ng-click="getMonthId($index)">
  <ion-itemhref="#/dmtimes">{{ time.monthId }} - {{ time.MonthName }</ion-item>
</ion-list>

视图输出显示:

1 - Jan
2 - Feb 
3 - Mar
etc

我的控制器有以下提取代码:

.controller('dailyMeetingTimesCtrl',function($scope,MeetingNames,$ionicLoading,$firebase,$firebaseArray) {

  $scope.getMonthId = function (monthId) {
    alert("you selected: " + monthId); // this works fine.
    $scope.myChoice = monthId; // ReferenceError: myChoice is not defined

    console.log(myChoice);
  }
})

在我的第二个视图(displayMeetingTimes.html)中,我想显示所选月份的会议详细信息,时间等.代码如下:

<ion-view title="Daily Meeting Times">
  <ion-content ng-controller="dailyMeetingTimesCtrl"overflow-scroll="true" padding="true">
    <ion-list>

      <ion-item ng-repeat="time in times.months(myChoice).days">
        <span>{{myChoice}}</span>
        Meeting Name:   {{ time.meetingName }}<br />
        Star Time:  {{ time.startTime }}<br />
        Finish Time:    {{ time.finishTime }}<br />
      </ion-item>         
    </ion-list>

  </ion-content>
</ion-view>

当我运行应用程序时,’myChoice’的值没有传递到第二个视图,因此错误“ReferenceError:myChoice未定义”

请告诉我哪里出错了?谢谢.

解决方法

如果要使用ng-repeat传递$index,则需要指定它.所以你的HTML应该如下:

<ion-list ng-repeat="time in times.months track by $index" ng-click="getMonthId($index)">
  <ion-itemhref="#/dmtimes">{{ time.monthId }} - {{ time.MonthName }
  </ion-item>
</ion-list>

其次,你得到ReferenceError的原因:myChoice没有被定义,因为你从未初始化一个名为myChoice的变量.但是你有一个名为$scope.myChoice的变量.
因此,您应该执行以下操作以在控制台中显示变量:

console.log($scope.myChoice);

angularjs – Angular-ui State – 多个视图没有看到我的解析数据

angularjs – Angular-ui State – 多个视图没有看到我的解析数据

出于某种原因,当使用多个命名视图(angular-ui ui-router)时,我的resolvedData没有被控制器看到.有人遇到过这个问题吗?

$stateProvider
    .state('page',{
           abstract: true,templateUrl: ...,controller: abstractController
    })
    .state('page.index',url: '/page',resolve : {
               resolvedData: function(CONSTANTS){ return CONSTANTS.data;}
           },views: {
               home: {templateUrl: ...,controller: function(resolvedData){
                        ....
                      }
               },list: {templateUrl: ...,edit: {templateUrl: ...,controller: function(resolvedData){
                        ....
                      }
               }
           }
     )

它给我的错误是:错误:[$injector:unpr]未知提供者:resolvedDataProvider< - resolvedData.它有点有趣,因为它只发生在一个视图中而不是其他视图中.

解决方法

我创建了 small working example,显示你的东西应该工作

这将是常数:

.factory('CONSTANTS',function() {
    return { data: { name :  "some name",number : "some number"} };
})

同样(只是明确注释DI)状态def:

// States
  $stateProvider
    .state('page',{
      abstract: true,template: '<div>' 
       + '<div ui-view="home"></div>' 
       + '<div ui-view="list"></div></div>',controller: 'abstractController'
    })
    .state('page.index',{
      url: '/page',resolve: {
        resolvedData: ['CONSTANTS',function(CONSTANTS) {
            return CONSTANTS.data;
          }
        ]
      },views: {
        home: {
          templateUrl: 'tpl.html',controller: ['resolvedData','$scope',function(resolvedData,$scope) {
              console.log(resolvedData);
              $scope.resolvedData = resolvedData;
            }
          ],},list: {
          template: '<div>list view</div>'
        }
      }
    })

因此,上面使用的决议草案正在起作用.这是正确的方法……解析函数提供了一些服务…并返回其属性数据.

检查所有here

angularjs – angular.js ui-router将变量传递给状态url

angularjs – angular.js ui-router将变量传递给状态url

我正在尝试将参数传递给angular.js ui-router中的状态,如下所示:
.state('details',{
    url: '/details/:index',templateUrl: 'views/details.html'
})

该索引正在通过一个ng重复索引

<div ng-repeat="program in programs">
            <h2>{{program.name}}</h2>

            <p>{{program.description || "No Description"}}</p>

            <p><a ui-sref="details({index: $index})">View details »</a></p>
 </div>

我的问题是在details.html中如何读取在状态的URL中传递的索引?

在控制器中注入$stateParams.

文件:https://github.com/angular-ui/ui-router/wiki/URL-Routing#stateparams-service

示例:http://plnkr.co/edit/8p55FoKIFHZFcvleFANe?p=preview

关于如何将node.js服务器变量传递到我的angular / html视图中?node.js怎么部署到服务器的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于angularjs – Angular HTML5Mode – 重写规则、angularjs – Angular JS – 将ng-click $index值传递给控制器函数,然后返回另一个视图、angularjs – Angular-ui State – 多个视图没有看到我的解析数据、angularjs – angular.js ui-router将变量传递给状态url的相关知识,请在本站寻找。

本文标签: