在AngularJS中,我是否只在视图中使用ng-model和ng-bind而不涉及使用控制器?

时间:2015-12-08 17:52:58

标签: javascript angularjs angularjs-directive angularjs-scope angular-ngmodel

我是AngularJS的新手,我发现这个例子与 ng-model ng-bind 指令有关:

<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="page" tagdir="/WEB-INF/tags" %>

<page:angular-template>

    <jsp:attribute name="title">
        AngularJS ng-bind ng-model
    </jsp:attribute>

    <jsp:body>                  

    <div ng-app>

    <h1>AngularJS ng-bind ng-model</h1>
    <div>
        <table class="table table-striped">
          <tr>
            <td><b>Username:</b></td> <td><input type="text" ng-model="username"/></td>
          </tr>
          <tr>
            <td><b>Password:</b></td> <td><input type="text" ng-model="passwords"/></td>
          </tr>
          <tr>
            <td><b>authorization:</b></td>  <td><input type="text" ng-model="authorization"/> </td>
          </tr>
        </table>
    </div> 

    Hi {{ username }} welcome to Java Spring MVC Integrated with AngularJS by Google and HTML5<br/>
    You password is {{ passwords }} <br/>
    and login as <span ng-bind="authorization"></span> <br/>
    </div>


    </jsp:body>
</page:angular-template>

所以基本上我觉得它只显示一个表单,并且每个输入元素都与 ng-model 模型属性相关strong>属性。

然后,在同一页面中,我可以通过例如 {{username}} 等AngularJS表达式或使用 ng-bind 指令。例如:

<span ng-bind="authorization">

这意味着在此范围内,它应显示输入标记中插入的值 ng-model =&#34;授权&#34;

我的推理是否正确?

我的疑问是:在使用AngularJS时,我可以避免通过控制器吗?我已经知道如何将这些值放在 $ scope 服务的属性中。

例如,输入标记 ng-model $ scope 服务的特定属性(以这种方式将视图与控制器相关联)。 / p>

我可以避免通过控制器吗?

1 个答案:

答案 0 :(得分:0)

如果我的问题是正确的,那么你是对的,你确实做得很好。

这是Angular的神奇之处。在DOM方面你甚至没有使用Controller就有了“最小应用程序”。

通过这种方式,您可以使DOM显示您正在键入的数据。

当然为了处理数据或对它们做一些事情,你需要有一个控制器,但你甚至可以通过使用procedure sort(Stack S, Queue Q, sortedPosition) if(sortedPosition==0) // Sorting completed return; max = S.pop currentPosition = 0; while (currentPosition < sortedPosition) do: if(currentPosition < sortedPosition) current = S.pop(); if(current > max) Q.add(max); max = current; else Q.add(current); end if end if currentPosition = currentPosition + 1; end while S.push(max); sortedPosition--; while (!Q.isEmpty()) do: S.push(Q.remove()); end while sort(S, Q, sortedPosition); end procedure 设置一个值而不通过控制器来设置{ {1}}变量到你想要的任何东西。

ng-init

ng-init doc

所以,是的,你可以在没有控制器的情况下使用角度。

(希望我得到你的问题..)