Angularjs 从外部文件初始化ng init中的数组

Angularjs 从外部文件初始化ng init中的数组,angularjs,Angularjs,我有以下html文件: <!DOCTYPE html> <html ng-app=""> <head> <script src="js_libs/angular.min.js"></script> <script src="somenames.js"></script> <link rel="stylesheet" href="css/bootstrap.css"/>

我有以下html文件:

<!DOCTYPE html>
<html ng-app="">    
<head>
    <script src="js_libs/angular.min.js"></script>
    <script src="somenames.js"></script> 
    <link rel="stylesheet" href="css/bootstrap.css"/>
</head>
<body ng-init="names">
    <ul ng-repeat="name in names">
        <li>{{name}}</li>
    </ul>
</body>
当我在浏览器中打开html时,没有列出任何名称。我不想使用控制器。我只想从文件中初始化。 如何从外部文件初始化

我写了一个控制器,但结果是否定的。语法没有问题,逻辑也没有问题(我猜),但浏览器中没有显示任何内容

 <!DOCTYPE html>
 <html ng-app="">   
<head>
    <script src="js_libs/angular.min.js"></script>
    <link rel="stylesheet" href="css/bootstrap.css"/>
</head>
<body>                        
    <div class="container" ng-controller="namesCtrl">
        <ul ng-repeat="name in names">
            <li>{{name}}</li>
        </ul>
    </div>  
    <script>
    function namesCtrl($scope){
         $scope.names = ['Andrew', 'Ben', 'Chad'];
    }
</script>
</body>

  • {{name}}
函数名称($scope){ $scope.names=['Andrew','Ben','Chad']; }


情况和以前一样。如何更正文件?

据我所知,如果不使用控制器,则无法初始化值:

谈到您的文件,您可以在“ng app”属性中添加一个值来定义容器(在本例中为“app”)

在控制器中,您可以创建一个引用该容器的模块(在本例中为“mainApp”),这样您就可以将控制器作为以下格式附加到该容器:
“您的变量的名称”。控制器(“控制器的名称”),函数($scope){
//车身控制器})

最后,在控制器内部,您可以添加所需的属性,在本例中是名称数组,然后您将能够使用表达式访问值。检查以下代码:

<!DOCTYPE html>
 <html ng-app="app">   
<head>
    <script src="js_libs/angular.min.js"></script>
    <link rel="stylesheet" href="css/bootstrap.css"/>
</head>
<body>
    <div class="container" ng-controller="namesCtrl">
        Array:  {{names}}
        <ul ng-repeat="name in names">
            <li>{{name}}</li>
        </ul>
    </div>  
     <script>
    var mainApp = angular.module("app", []);
    mainApp.controller("namesCtrl", function ($scope) {
        $scope.names = ['Andrew', 'Ben', 'Chad']
    });
    </script>
</body>

数组:{{names}
  • {{name}}
var mainApp=angular.module(“app”,[]); mainApp.controller(“namesCtrl”,函数($scope){ $scope.names=['Andrew','Ben','Chad'] });

希望这能帮助您:)

据我所知,如果不使用控制器,您无法初始化值:

谈到您的文件,您可以在“ng app”属性中添加一个值来定义容器(在本例中为“app”)

在控制器中,您可以创建一个引用该容器的模块(在本例中为“mainApp”),这样您就可以将控制器作为以下格式附加到该容器:
“您的变量的名称”。控制器(“控制器的名称”),函数($scope){
//车身控制器})

最后,在控制器内部,您可以添加所需的属性,在本例中是名称数组,然后您将能够使用表达式访问值。检查以下代码:

<!DOCTYPE html>
 <html ng-app="app">   
<head>
    <script src="js_libs/angular.min.js"></script>
    <link rel="stylesheet" href="css/bootstrap.css"/>
</head>
<body>
    <div class="container" ng-controller="namesCtrl">
        Array:  {{names}}
        <ul ng-repeat="name in names">
            <li>{{name}}</li>
        </ul>
    </div>  
     <script>
    var mainApp = angular.module("app", []);
    mainApp.controller("namesCtrl", function ($scope) {
        $scope.names = ['Andrew', 'Ben', 'Chad']
    });
    </script>
</body>

数组:{{names}
  • {{name}}
var mainApp=angular.module(“app”,[]); mainApp.controller(“namesCtrl”,函数($scope){ $scope.names=['Andrew','Ben','Chad'] });

希望这能帮助你:)

我想你不行。您必须使用控制器来初始化作用域中的名称您必须定义一个控制器才能在页面上工作。无论如何,您都必须编写一些内容以使ngInit使用全局值。有很多方法可以做到这一点。你很好。我将使用控制器。谢谢我想我可以用这种方法。我想你不行。您必须使用控制器来初始化作用域中的名称您必须定义一个控制器才能在页面上工作。无论如何,您都必须编写一些内容以使ngInit使用全局值。有很多方法可以做到这一点。你很好。我将使用控制器。谢谢我想我可以用这种方式。