我查看代碼文件settings.html:數據綁定不選擇框視圖模板工作
<select ng-model="language" ng-options="item.ID as item.NAME for item in allLanguages">
下面是我的控制器JS文件中的代碼。
var app = angular.module('index.controllers', ['ionic']);
app.run(function($rootScope, $ionicModal) {
$rootScope.allLanguages = [{
'ID': "en",
"NAME": "English"
}, {
'ID': "ta-IN",
"NAME": "Tamil"
}];
$rootScope.language = $rootScope.allLanguages[1];
$ionicModal.fromTemplateUrl('templates/settings.html', {
scope: $rootScope,
animation: 'slide-in-up'
}).then(function(modal) {
$rootScope.modal = modal;
});
$rootScope.showSettings = function() {
$rootScope.modal.show();
}
$rootScope.closeSettingsModal = function() {
// always empty object here
console.log("Lang:" + JSON.stringify($rootScope.language));
$rootScope.modal.hide();
}
}
問題:
其被分配給rootScope被定義爲settings.html模板視圖文件訪問的allLanguages對象陣列。值在使用該數組的選擇框中填充。所以這證實了數據綁定的一種方式工作正常。
但是在我的代碼中$ rootScope.language總是空的。更新的值不存在於其中。我做錯了什麼?
PS:此代碼是一個大型應用程序的一部分,因此很難將其隔離以創建小提琴並重現錯誤。
模板嗯,我不知道,如果你是顯示所有的HTML或不是,但你需要關閉標籤。我嘗試了一個使用$ scope而不是$ rootScope的示例,它工作得很好。 – Scott 2015-02-09 18:46:30