我有一个登录组件,我想让我的应用程序中的其他组件可以使用登录状态.
有人可以提供工作代码或示例吗?
我至少需要某种绑定或事件,这样当登录状态改变时,这些其他感兴趣的组件的UI可以相应地更新.
javascript data-binding 2-way-object-databinding polymer polymer-1.0
我有一个JavaScript对象,看起来像这样.
var myObj = [
{
"HOLIDAY": {
"Sun": "Date",
"Mon": "Date",
"Tue": "Date",
"Wed": "Date",
"Thr": "Date",
"Fri": "Date",
"Sat": "Date"
}
}
]
Run Code Online (Sandbox Code Playgroud)
我有一些HTML代码,看起来像这样
<input data-event="change"
data-variable="myObj"
data-bind="[0]['HOLIDAY']['Sun']"
type="text">
Run Code Online (Sandbox Code Playgroud)
在HTML上,如果我对该字段进行任何更改,我已经存储了要修改的JavaScript变量.我编写了类似这样的JavaScript代码.
$(document).on('change', '[data-event= change]', function(){
//get-variable-name where to bind data
//Get object location inside the variable
var sVarName = $(this).data('variable');
var sObjLoca = $(this).data('bind');
eval(sVarName+sObjLoca +' = ' $(this).val());
});
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来解决这个问题,目前我正在使用eval()我不想使用的方法,因为许多元素都会有'change'事件而show'eval'会影响我的代码的性能.
我有两种方式数据绑定可观察在最后更新的sdk我有这样的问题.曾经遇到过这个?
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> android.databinding.tool.util.LoggedErrorException: Found data binding errors.
****/ data binding error ****msg:Cannot find the getter for attribute 'android:text' with value type java.lang.String on android.support.design.widget.TextInputEditText.
file:C:\Users\Tom\Desktop\projects\androidstudio\work_projects\projects\app\src\main\res\layout\medcard_edit.xml
loc:83:20 - 95:53
****\ data binding error ****
****/ data binding error ****msg:Cannot find the getter for attribute 'android:text' with value type java.lang.String on android.widget.EditText.
file:C:\Users\Tom\Desktop\projects\androidstudio\work_projects\novamed\novamed_android\app\src\main\res\layout\activity_address_picker.xml
loc:42:12 - 48:36
****\ data binding error ****
****/ data binding error ****msg:Cannot find the getter for attribute 'android:text' with value type java.lang.String on …Run Code Online (Sandbox Code Playgroud) 我是WPF的新手,并测试了一些我想要包含在我将要处理的应用程序中的内容.我有一个2行ListView(绑定到文本框),其中包含Scott Guthrie和Jon Skeet的名字.我试图在ListView中选择"Scott Guthrie"并让它填充TextBox.我希望能够编辑文本和选项卡并更新ListView.
编辑:我删除了代码,因为它确实没有添加任何问题.
首先,我应该说我现在只攻击了Angular.js 2天,所以我可能正在接近这件事.
我的示例"Person"对象(或模型,如果我理解)有两个属性,Firstname和Title.我有两个<select>标题和<input type="text" />名称字段.Firstname绑定工作正常,我很高兴,但标题令我困惑.
我用Code和Desc绑定一个对象数组,它填充得很好.但是当我想要(在提交时)或设置(在加载时)它不起作用,因为绑定使用整个标题对象.
(单击"下一步"以显示序列化对象.)
HTML
<div ng-app ng-controller="PersonCtrl">
<form name="myForm" ng-submit="submit()">
Title: <select ng-model="Person.Title" ng-options="t.Desc for t in TitleList">
<option style="display: none" value="">Please select</option>
</select>
<br/>
Firstname: <input type="text" ng-model="Person.Firstname" />
<br/>
<input type="submit" value="Next" />
<br/>
<div id="obj"></div>
</form>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js">
Run Code Online (Sandbox Code Playgroud)
JS
// Person controller
function PersonCtrl($scope) {
$scope.TitleList = [{Code: 'MR', Desc: 'Mr'},
{Code: 'MRS', Desc: 'Mrs'}]
$scope.Person = {
Firstname: 'dave',
Title: 'MR'
};
$scope.submit = function () …Run Code Online (Sandbox Code Playgroud) 我熟悉大括号的绑定,比如{{variable}}Polymer 0.5.
但是,在Polymer的发布版本的示例和代码片段中,我开始注意到带有方括号的绑定,例如[[variable]].
难道{{variable}}现在的意思是不同的东西,或者是相同的,[[variable]]仅仅是一个加法?绑定到聚合物[[variable]]和{{variable}}聚合物之间有什么区别?
我有一个Android项目,它的包名称有点像这个com.example.MyPackage,其中asMyPackage有两个大写字母M和P,由于它们我无法使用数据绑定。
当我添加数据绑定并构建我的项目时,它说无法猜测名称。我发现在 stackover flow 上有人讨论这是因为包名称中有大写字母。
目前的代码如下.我在主文件中有元素值.此值将传递给子元素app-element,并从那里传递到app-element-add.
app-element-add中的值会发生变化.但我无法获得主要元素中反映的价值.
观察员永远不会被调用.
main.html中
<app-element element-value = {{ elementValue }}></app-element>
Polymer({
is: 'app-main-element',
properties: {
elementValue: {
type:Array,
notify:true,
observer:'listUpdated'
}
});
Run Code Online (Sandbox Code Playgroud)
APP-element.html
<app-element-add element-value = {{ elementValue }}></app-element-add>
Polymer({
is: 'app-element',
properties: {
elementValue: {
type:Array,
notify:true,
observer:'listUpdated'
}
});
Run Code Online (Sandbox Code Playgroud)
APP-元件add.html
Polymer({
is: 'app-element-add',
properties: {
elementValue: {
type:Array,
notify:true,
reflectToAttribute:true
}
});
Run Code Online (Sandbox Code Playgroud)
关于如何在app-main-element中反映app-element-add中的更改的任何提示.谢谢.
我正在尝试为我的组件编写测试来测试角度双向绑定是否正常工作.
在一方面,我有一个看起来像那样的测试(它通过):
it('should bind displayed value to the SearchComponent property', () => {
searchComponent.searchBoxValue = 'abc';
searchCompFixture.detectChanges();
expect(inputEl.nativeElement.getAttribute('ng-reflect-model')).toBe('abc');
});
Run Code Online (Sandbox Code Playgroud)
哪里
searchCompFixture = TestBed.createComponent(SearchComponent);
inputEl = searchCompFixture.debugElement.query(By.css('#search-box-input'));
Run Code Online (Sandbox Code Playgroud)
和
<input
id="search-box-input"
[(ngModel)]="searchBoxValue"\>
Run Code Online (Sandbox Code Playgroud)
另一方面,我想编写一个测试,首先设置input元素的值,并检查SearchComponent属性值是否已更改.我的尝试:
it('should bind SearchComponent property to the displayed value', fakeAsync(() => {
inputEl.nativeElement.value = 'abc';
let evt = new Event('input');
inputEl.nativeElement.dispatchEvent(evt);
tick();
searchCompFixture.detectChanges();
expect(searchComponent.searchBoxValue).toBe('abc');
}));
Run Code Online (Sandbox Code Playgroud)
但这不起作用,因为searchComponent.searchBoxValue没有设置值.任何想法如何解决这一问题?
我正在尝试在我的android应用程序中实现数据绑定。我有一个对话框作为登录名,它位于我的主要活动上方,如下所示
这是我的主要活动
public class MapsActivity extends FragmentActivity {
LayoutUserAuthBinding layoutBinder;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
UserAuthDialogSettings dialogSettings = new UserAuthDialogSettings(this);
Dialog dialog = dialogSettings.dialogSettings();
dialog.show();
layoutBinder = DataBindingUtil.inflate(LayoutInflater.from(dialog.getContext()),R.layout.layout_user_auth,null,false);
layoutBinder.setMain(this);
}
public void onLoginButtonClick()
{
UserAuthModel model = layoutBinder.getUserAuth();
Log.e("MAIN","NAME : " + model.getUserName());
Log.e("MAIN","PASSWORD" + model.getUserPassword());
Log.e("MAIN","PASSPHRASE" + model.getUserPassphrase());
layoutBinder.getUserAuth().setUserName("shantanu");
layoutBinder.getUserAuth().setUserPassword("password123");
layoutBinder.getUserAuth().setUserPassphrase("passphrase123");
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的模特班
public class UserAuthModel extends BaseObservable{
@NonNull
String userName,userPassword,userPassphrase;
public UserAuthModel(String userName, String userPassword, String userPassphrase) {
this.userName = userName;
this.userPassword = …Run Code Online (Sandbox Code Playgroud) android ×3
javascript ×3
polymer ×3
polymer-1.0 ×3
data-binding ×2
angular ×1
angularjs ×1
eval ×1
html ×1
java ×1
jquery ×1
kotlin ×1
listview ×1
mvvm ×1
package-name ×1
testing ×1
typescript ×1
wpf ×1