Javascript Angularjs模板:模型和函数停止在外部模板中工作?
在此之后,我面临另一个挑战,$scope中的模型和函数似乎已经停止工作。下面是测试代码,添加按钮似乎不再收集我从Javascript Angularjs模板:模型和函数停止在外部模板中工作?,javascript,angularjs,model-view-controller,Javascript,Angularjs,Model View Controller,在此之后,我面临另一个挑战,$scope中的模型和函数似乎已经停止工作。下面是测试代码,添加按钮似乎不再收集我从输入的任何数据 html 有什么办法可以修复它吗?使用 <input type='text' ng-model='$parent.newPerson' /> ng include创建一个新的作用域,因为newPerson是一个简单的属性,所以它在子作用域和父作用域上是不同的(即更改一个作用域不会更改另一个作用域)。因此,当包含的模板设置为newPerson时,它在主控
输入的任何数据
html
有什么办法可以修复它吗?使用
<input type='text' ng-model='$parent.newPerson' />
ng include
创建一个新的作用域,因为newPerson是一个简单的属性,所以它在子作用域和父作用域上是不同的(即更改一个作用域不会更改另一个作用域)。因此,当包含的模板设置为newPerson
时,它在主控制器的作用域上仍然为空
要更好地了解作用域的工作原理,请阅读它在yea中工作,但为什么在localhost上不工作?不知道,但请尽量简化。首先包括“包括”。它可能没有错,但你永远不知道。
首先包含“include”。
对不起,你是什么意思?如何首先包含“include”。
调试的第一步是删除不必要的代码。直到有东西开始工作或者所有的角度代码都消失了。然后添加一个$scope
属性,然后从那里开始工作。@lauthiamkok噢,伙计,我本来可以这么快解决这个问题的。你的问题不清楚这是你的问题。您说,$scope
不起作用,所以听起来好像根本没有数据绑定起作用。这只是子作用域继承的一个问题。是的,抱歉对angular来说是新的,并且觉得它非常可怕。
<div id='content'>
<input type='text' ng-model='searchText' />
<ul>
<li ng-repeat='person in people | filter:searchText' ng-show='person.live == true'>#{{person.id}} {{person.name}}</li>
</ul>
<input type='text' ng-model='newPerson' />
<button ng-click='addNew()'>Add</button>
</div>
var app = angular.module('MyTutorialApp',[]);
app.controller("MainController", function($scope){
$scope.thisIsAScopeProperty = 'template/index.html';
$scope.people = [
{
id: 0,
name: 'Leon',
music: [
'Rock',
'Metal',
'Dubstep',
'Electro'
],
live: true
}
];
$scope.newPerson = null;
$scope.addNew = function() {
alert(1); // works here when you click the Add button
console.log($scope.newPerson); // but returns nothing when you type any text in the input
if ($scope.newPerson != null && $scope.newPerson != "") {
alert(2); // does not work here
$scope.people.push({
id: $scope.people.length,
name: $scope.newPerson,
live: true,
music: [
'Pop',
'RnB',
'Hip Hop'
]
});
}
}
});
<input type='text' ng-model='$parent.newPerson' />