我尝试使用ngModel将两个文本输入字段附加到$ scope。这是我的代码:
extends layout
block content
h1 hello from partials
form(name='login')
label(for='username') username
input(type='text' name='username' id='username' ng-model='credentials.username')
br
label(for='password') password
input(type='text' name='password' id='password' ng-model='credentials.password')
button(type='submit') submit
即使按下提交后,凭据也不会更改$ scope。它们默认设置为空字符串,并在提交后保持这种状态。我的玉石表格写得不正确吗?
控制器代码如下所示:
myApp.controller('mainController' , function($scope){
window.scope = $scope;
$scope.credentials = {username: '' , password: ''}
})
和layout.jade看起来像这样:
doctype html
html(ng-app='myApp')
head
title= title
link(rel='stylesheet', href='/stylesheets/style.css')
body
div(ng-controller='mainController')
block content
script(src='//ajax.googleapis.com/ajax/libs/angularjs/1.2.17/angular.min.js')
script(src='https://ajax.googleapis.com/ajax/libs/angularjs/1.2.17/angular-route.js')
script(src='/javascripts/myApp.js')
答案 0 :(得分:1)
您的block content
未嵌套在您的控制器下,这就是ng-model
未改变范围的原因。
这样可行:
div(ng-controller="mainController")
block content
但是你可能还需要一个每页控制器(你仍然可以保留这个控制器 - 但控制器就像层次结构一样,与JS原型相同)