角度控制器不工作

时间:2014-04-01 08:39:26

标签: javascript angularjs

我是棱角分明的新手 我的角度控制器是:

var chatApp = angular.module('chatApp.controllers', []);

chatApp.controller('loginController', ['$scope', function($scope) {
$scope.user_name="name";
$scope.user_password="name";
}]);

app.js是:

'use strict';
angular.module('chatApp', [
'ui.router',
'chatApp.filters',
'chatApp.services',
'chatApp.directives',
'chatApp.controllers'
]).config(function($stateProvider, $urlRouterProvider) {
$stateProvider
    .state('login', {
        url: "/login",
        templateUrl: "partials/login.html",
        controller : "loginController"
    })
});

login.html是:

<div>
<div id="wrapper">
    <form name="login-form" class="login-form" action="" method="post">
        <div class="header">
            <h1>Login Form</h1>
        </div>
        <div class="content">
            <input name="username" type="text" class="input username" placeholder="{{user_name}}" />
            <div class="user-icon"></div>
            <input name="password" type="password" class="input password" placeholder="{{user_password}}" />
            <div class="pass-icon"></div>
        </div>
    </form>
</div>

我使用stateprovider进行路由。 但是,它没有在占位符中显示任何内容。是什么原因?

5 个答案:

答案 0 :(得分:1)

使用ng-model而不是{{}}解决了问题。

<div class="content">
            <input name="username" type="text" class="input username" placeholder="username" ng-model="user_name" />
            <div class="user-icon"></div>
            <input name="password" type="password" class="input password" placeholder="password" ng-model="user_password"/>
            <div class="pass-icon"></div>
        </div>

答案 1 :(得分:0)

如果我说ng-controller =&#34; loginController&#34;这对我有用。在html中 -

<div ng-controller = 'loginController'>
<div id="wrapper">
    <form name="login-form" class="login-form" action="" method="post">
        <div class="header">
            <h1>Login Form</h1>
        </div>
        <div class="content">
            <input name="username" type="text" class="input username" placeholder="{{user_name}}" />
            <div class="user-icon"></div>
            <input name="password" type="password" class="input password" placeholder="{{user_password}}" />
            <div class="pass-icon"></div>
        </div>
</div>

这是一个有效的JSBin:http://jsbin.com/aDuJIku/265/edit?html,js,output

此解决方案不包含ui-router,但它应该可以使用它。

答案 2 :(得分:0)

试试这个:

 var chatApp = angular.module('chatApp.controllers', []);

    chatApp.controller('loginController', ['$scope','$timeout', function($scope,$timeout) {

        $timeout(function(){
            $scope.user_name="name";
            $scope.user_password="name";
        },100);

    }]);

答案 3 :(得分:-1)

您只需要更改为RouteProvider,在您的情况下,您只需更改:

angular.module('chatApp', [ 'ngRoute' 'ui.router','chatApp.filters','chatApp.services', 'chatApp.directives', 'chatApp.controllers'])
.config(function($routeProvider) {
    $routeProvider.when('/login', { templateUrl: "partials/login.html", controller: "loginController" })
});

请确保包含角度路线js。

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.11/angular.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.11/angular-route.js"></script>

希望这对你有所帮助! ;)

以下是您的一些示例this

答案 4 :(得分:-1)

下面提到的代码有效。

注意:如果有人试图在预览中运行此代码,则无法正常工作。需要将JS和HTML代码复制到单独的文件中,并使用提到的名称。

&#13;
&#13;
var myContrlApp = angular.module('ContrlApp', []);
myContrlApp.controller('MainController', function ($scope) {
    var person = {
        firstName: "Keith",
        lastName: "Jackson",
    };
    $scope.message = "Welcome, Angular !";
    $scope.person = person;
});
&#13;
<html ng-app="ContrlApp">
<head>
    <script type="text/javascript" src="Scripts/angular.js"></script>
    <script type="text/javascript" src="Scripts/angular-route.js"></script>
    <script type="text/javascript" src="Scripts/script.js"></script>
    <!--<link rel="stylesheet" href="style.css" />-->
    <title>Angular JS Tryout</title>
</head>
<body ng-controller="MainController">
    <div>
        <h1>{{message}}</h1>
        <div>
            <div>First name: {{person.firstName}}</div>
            <div>Last name: {{person.lastName}}</div>

        </div>
    </div>
</body>
</html>
&#13;
&#13;
&#13;