2014-01-09 26 views
0

我在看AngularJS的這個簡單的例子:AngularJS基本模型值編輯沒有控制器

<!doctype html> 
<html ng-app> 
    <head> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular.min.js"></script> 
    </head> 
    <body> 
    <div> 
     <label>Name:</label> 
     <input type="text" ng-model="yourName" placeholder="Enter a name here"> 
     <hr> 
     <h1>Hello {{yourName}}!</h1> 
    </div> 
    </body> 
</html> 

這是網站上的第一個例子中,沒有控制器或任何東西。文本字段附加到模型字段yourName

現在,我想知道:由於編輯文本字段中的文本會更改模型值,因此如何以編程方式更改「yourName」的值?到目前爲止,我沒有找到簡單的方法來做到這一點,而無需添加控制器和其他任何東西。

另外,如何隨時將偵聽器附加到該模型以便在其發生更改時通知它?

回答

1

在這種情況下,對於這個簡單示例,您不需要控制器。角落幕後是「創造」

$scope.yourName 

在編程方式改變它,你必須使用控制器。在觀察變化,使用$scope.$watch

$scope.$watch($scope.yourName, function (newVal, oldVal) { 
    if (newVal !== oldVal) { 
    // logic here 
    } 
}); 
+0

啊,好的,謝謝! – arik

+0

等一下,我試了一下,它不起作用,聲稱範圍沒有定義? – arik

+1

觀看此視頻作爲控制器的介紹:https://egghead.io/lessons/angularjs-controllers – victormejia

相關問題