簡體   English   中英

AngularJS ng-controller無法正常工作

[英]AngularJS ng-controller not working

我剛剛開始從w3schools學習AngularJS。 我正在嘗試練習他們在教程中提到過的示例。 一切正常,但是當我來到“AngularJS控制器”時,它在w3schools中運行良好並不能正常工作自己動手» 我把我的代碼分成了這個小提琴的例子 我的腳本看起來像這樣:

function personController($scope) {
    $scope.firstName= "John";
    $scope.lastName= "Doe";
}

盡量幫助我,並建議我一個很好的教程(或任何免費的PDF文件)。

這是你糾正的小提琴

對於角度來說,控制器定義必須如下所示是一個很好的做法:

angular.module("app", []).controller("personController", function($scope) {
    $scope.firstName = "John";
    $scope.lastName = "Doe";
});

毫無疑問,學習Angular 基礎知識的最佳教程是CodeSchool

希望這可以幫助。

這是一種新方法。 我們不能再使用沒有模塊的控制器。 看看這個 只需添加一個模塊並附加控制器即可,您將沒有任何問題。

我只是修改了你的小提琴。 請查看小提琴示例

function personController($scope) {
    $scope.firstName= "John";
    $scope.lastName= "Doe";
}

有你的代碼,除了從的onLoad沒有包 JS小提琴設置沒有問題-在頭

在此輸入圖像描述

您需要創建一個應用程序模塊,然后添加一個控制器。 在角度中,它是關於依賴性的。 其次,你需要一個應用程序名稱。 基礎教程在他們的主頁上: https//docs.angularjs.org/tutorial/step_00我開始使用它,它對我很好。 只需從步驟1開始執行所有步驟。

這是“Angular Controller Not Working”的常見搜索結果,所以我認為添加修復我的“控制器不工作”問題的解決方案會很有幫助。

我有我的基本路線, $routeProvider指向控制器文件和templateUrl部分,如下所示:

$routeProvider.when('/', {
    templateUrl: 'partials/home.html',
    controller: 'homePage'
});

我有其他幾條路線,所有這些控制器都工作,但由於某種原因,我的第一條路線不會。 事實證明,我的部分邏輯錯誤很小,這阻止了我的控制器代碼運行。

愚蠢的小錯誤,但我措手不及,這部分是一個邏輯問題阻止任何控制器代碼運行。 我花了很長時間才願意承認,因為問題不在我的“JavaScript”中,即使存在控制台錯誤。 緊密耦合的前端代碼的樂趣,amiright?

您必須輸入函數作為模塊內的參數

var app = angular.module('app',[]);
app.controller('personController',function($scope){
  $scope.firstName = 'John';
  $scope.lastName = 'Smith';
});

通過在html的任何標簽中添加np-app="myApp" ,例如<html ng-app = "myApp">我的代碼工作正常。

如果您嘗試將ngApp嵌套到其他ngApp中,則可能存在相同的問題。

文件說:

AngularJS applications cannot be nested within each other.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM