/ / Angular JSスコープが含まれているテンプレートから更新されない-anglejs、angularjs-scope、angular-template

Angular JSスコープが含まれているテンプレートから更新されない - angularjs、angularjs-scope、angle-template

だから私はindex.htmlの下にあります:

<div ng-controller="UsersController">
<div ng-include=""assets/users/partials/template.html""></div>
<a ng-click="get_data()">Get</a>
</div>

Template.html:

<input type="text" ng-model="SearchUser" name="SearchUser" />

私のコントローラー:

app.controller("UsersController", ["$scope", function($scope) {
$scope.get_data = function(){ console.log($scope.SearchUser); };
}
]);

そのため、上記のクリックアンカーの場合、 $scope.SearchUser スコープ値。 しかし、テンプレートからその入力を取り出して、メインのHTMLに入れると動作します。

複数のコントローラー宣言などをチェックしましたが、何も機能しませんでした。

角度1.2.25バージョンを使用しています。

回答:

回答№1は6

ng-includeは、コントローラースコープから継承する独自のスコープを定義します。したがって、SearchUserは設定されますが、子スコープの属性として設定されます。

いつものように、解決策は、ngモデルにドットを入れ、コントローラースコープで外部オブジェクトを定義することです。

$scope.state = {};

そして、HTMLで:

<input type="text" ng-model="state.SearchUser" name="SearchUser" />

そうすれば、angularは状態フィールドを子スコープ。子スコープはプロトタイプでコントローラースコープを拡張するため、コントローラースコープ内で検出され、状態オブジェクトのSearchUser属性を書き込みます。