AngularJS- 基礎Controller
繼續Angular,接下來看基礎controller。
首先用一個div把先前的html包起來。
- <div ng-controller="firstCtrl">
- </div>
裡面的ng-controller="firstCtrl",就是之後要呼叫controller的名稱,先建一隻新的js檔來放controller的code。
- <script src="js/controller.js"></script>
建一個跟先前ng-controller名字一樣的function
- function firstCtrl($scope){
- $scope.data= {message: "Hello"};
- }
然後改寫一下html
- <div ng-controller="firstCtrl">
- <p> {{data.message +" " +yourName }}!</p>
- <label>Name: </label>
- <input type="text" ng-model="yourName" placeholder="Enter a name here">
- </div>
這樣就可以用controller來控制html的東西了。
Demo
不過如果是兩個分開的controller,要能夠接一樣的值
- <div ng-app="myApp">
- <div ng-controller="FirstCtrl">
- <input type="text" ng-model="data.message">
- <h1>{{data.message}}</h1>
- </div>
- <div ng-controller="SecondCtrl">
- <input type="text" ng-model="data.message">
- <h1>{{data.message}}</h1>
- </div>
- </div>
可以這樣用
- var myApp = angular.module('myApp', []);
- myApp.factory('Data', function () {
- return {message:"Hello!"};
- });
- function FirstCtrl($scope, Data) {
- $scope.data = Data;
- }
- function SecondCtrl($scope, Data) {
- $scope.data = Data;
- }
加一點變化,讓輸入的值反過來
- $scope.reversedMessage = function (message) {
- return message.split("").reverse().join("");
- };
Demo
留言